Python演算法小例子

2021-09-24 18:57:05 字數 2255 閱讀 8909

累加求和:1~num以內的累計和

可以使用 for迴圈,while迴圈,遞迴

num =

int(

input

("請輸入num的值:"))

defsum_1()

:#for迴圈

sum=

0for x in

range

(num+1)

:sum

+=x print

(sum

)def

sum_2

(num)

:#遞迴方法

if num>0:

return num+sum_2(num-1)

else

:return

0def

sum_3

(num)

:#while迴圈

i=0sum=

0while i<=num:

sum+=i

i+=1return

sumprint

('1~num以內的累計和為:'

)sum_1(

)s=sum_2(num)

print

(s)s2 =sum_3(num)

print

(s2)

sum()函式接受乙個list作為引數,並返回list所有元素之和。請計算1 * 1 + 2 * 2 + 3 * 3 + … + 100 * 100。

print

sum(

[n**

2for n in

range(1

,101)]

)

l =

xrange(1

,101

)print

sum(

[i*i for i in l]

)

l = 

x = 1

n = 100

while x <= n:

x=x+1

print sum(l)

一元二次方程的定義是:ax² + bx + c = 0

請編寫乙個函式,返回一元二次方程的兩個解。

注意:python的math包提供了sqrt()函式用於計算平方根。

import math

defquadratic_equation

(a, b, c)

: d=b**2-

4*a*c

if d<0:

return

"no real root"

else

: y1=

(-b+math.sqrt(d))/

(2*a) y2=

(-b-math.sqrt(d))/

(2*a)return y1,y2

print quadratic_equation(2,

3,0)

print quadratic_equation(1,

-6,5

)

漢諾塔 ( 的移動,對柱子編號為a, b, c,將所有圓盤從a移到c可以描述為:如果a只有乙個圓盤,可以直接移動到c,如果a有n個圓盤,可以看成a有1個圓盤(底盤) + (n-1)個圓盤,首先需要把 (n-1) 個圓盤移動到 b,然後,將 a的最後乙個圓盤移動到c,再將b的(n-1)個圓盤移動到c。

請編寫乙個函式,給定輸入 n, a, b, c,列印出移動的步驟:

move(n, a, b, c)

例如,輸入 move(2, 『a』, 『b』, 『c』),列印出:

a --> b

a --> c

b --> c

#-*- coding:utf-8 -*-

defmove

(n, x, y, z)

:if n==1:

print x,

'-->'

,z return

move(n-

1,x,z,y)

#將前n-1個盤子從x移動到y上

move(

1,x,y,z)

#將最底下的最後乙個盤子從x移動到z上

move(n-

1,y,x,z)

#將y上的n-1個盤子移動到z上

move(4,

'a',

'b',

'c')

python爬蟲小例子

如下 r.raise for status 的功能是判斷返回的狀態碼,如果狀態碼不是200 如404 則丟擲異常 來檢視user agent屬性。requests庫寫的 預設user agent是 python requests x.xx.x x表示版本號 如果訪問不成功,可嘗試修改 user ag...

python小例子(三)

1.提高python執行速度的方法 1 使用生成器,節約大量記憶體 2 迴圈 優化,避免過多重複 的執行 3 核心模組使用cpython,pypy等 4 多程序,多執行緒,協程 5 多個if elif判斷,可以把最可能發生的放在前面 2.mysql和redis的區別?redis 記憶體型菲關聯式資料...

python小例子大全 Python實踐小案例

運用該,該函式呼叫了audio模組 具體的格式是 audio.say 字串 def cn x return x.decode utf 8 if a m.set cn 我也非常喜歡你 n audio.say cn 我也非常喜歡你!else n 代表換行符 在這裡,我們又看到了一條新的函式 這是退出程式...