Python函式練習

2021-09-25 01:27:06 字數 2531 閱讀 8709

def

upperandlowercount

(str):

upper_count, lower_count =0,

0for i in

str:

if i.isupper():

upper_count +=

1elif i.islower():

lower_count +=

1else

:continue

return upper_count,lower_count

while

true

:print

(upperandlowercount(

input

('請輸入字串:'))

)

'''

**案例:

編寫函式, 接收乙個列表(包含30個1~100之間的隨機整形數)和一

個整形數k, 返回乙個新列表.

函式需求:

- 將列表下標k之前對應(不包含k)的元素逆序;

- 將下標k及之後的元素逆序;

[1,2,3,4,5] 2 [2,1,5,4,3]

'''

import random

defmyreverse

(list

,k):

# 特殊情況處理,k輸入小於0 或者 k超過陣列長度

if k <

0or k >

len(

list):

return

false

# 利用list的切片的性質,以及list的連線性質實現

return

list

[:k][:

:-1]

+list

[k:][:

:-1]

# 使用列表生成式

li =

[random.randint(1,

101)

for i in

range(30

)]print

(li)

print

(myreverse(li,3)

)

結果:

題目需求:

對於乙個十進位制的正整數, 定義f(n)為其各位數字的平方和,如:

f(13) = 1**2 + 3**2 = 10

f(207) = 2**2 + 0**2 + 7**2 = 53

下面給出三個正整數k,a, b,你需要計算有多少個正整數n滿足a<=n<=b,

且k*f(n)=n

輸入: 第一行包含3個正整數k,a, b, k>=1, a,b<=10**18, a<=b;

輸出: 輸出對應的答案;

範例: 輸入: 51 5000 10000

輸出: 3

"""

def

f(n)

: res =

0for i in

str(n)

: res +=

int(i)**2

return res

deftargetnum

(k, a, b)

: count =

0for i in

range

(a, b +1)

:if k * f(i)

== i:

count +=

1return count

inlist =

input()

.split(

)# 使用列表生成器,將每個元素由str轉換成int

inlist =

[int

(i)for i in inlist]

print

(targetnum(inlist[0]

, inlist[1]

, inlist[2]

))

def

f(n)

: n =

str(n)

res =

0for i in n:

res +=

int(i)**2

return res

# 接收 k,a,b 到列表

s =input()

.split(

)# 賦值k,a,b

k, a, b = s

count =

0for i in

range

(int

(a),

int(b)+1

):if f(i)

*int

(k)== i:

count +=

1print

(count)

Python 函式 練習

def sum args val 0 for i in args val i val return val a 10 b 20 def test a,b print a,b c test b,a print c a 20,b 10 c none 因為函式中沒有return,因此返回的是none a ...

Python練習 高階函式

當乙個函式的引數,傳的是另乙個函式的時候,這樣的函式就是高階函式 變數可以指向函式,如果乙個變數指向了乙個函式,那麼,可通過該變數來呼叫這個函式 ap 函式接收兩個引數,乙個是函式,乙個是iterable,map將傳入的函式依次作用到序列的每個元素,並把結果作為新的iterator返回。def f ...

(十二)Python函式練習

函式 定義函式 defprint me test 列印任何傳入的字串 print test 呼叫函式 print me 我要呼叫使用者自定義函式 print me 再次呼叫同一函式 不定長引數 加了星號 的引數會以元組 tuple 的形式匯入 defprint info arg1,var tuple...