Python基礎題目練習

2021-10-23 16:46:52 字數 3833 閱讀 1276

程式實現:求1-2+3-4+5-6+7-8…+99的和。

sum=0

for i in

range(1

,100):

if i %2==

0:sum-= i

else

:sum

+= i

print

(sum

)

建立乙個迴圈從1到99,初始化乙個sum=0,判斷每個數的奇偶數,奇數則用sum相加,偶數則用sum相減。

優化:

sum=0

for i in

range(1

,100):

sum=

sum- i if i %2==

0else

sum+ i

print

(sum

)

玩家與電腦玩石頭剪刀布遊戲,電腦玩家都隨機出拳。1—代表石頭,2—代表剪刀,3—代表布。程式提示玩家出拳,並判斷電腦贏還是玩家贏。

def

transform

(i):

if i ==1:

return

"石頭"

elif i ==2:

return

"剪刀"

elif i ==3:

return

"布"print

("請不要自討苦吃輸入字母或其他符號"

)mypunch =

int(

input

("請出拳:(1---代表石頭,2---代表剪刀,3---代表布)\n"))

punch = random.randint(1,

3)if mypunch ==

1or mypunch ==

2or mypunch ==3:

if(mypunch ==

1and punch ==2)

or(mypunch ==

2and punch ==3)

or(mypunch ==

3and punch ==1)

:print

("電腦出拳:%s, 而你出拳:%s。\n所以你贏了!"

%(transform(punch)

, transform(mypunch)))

elif mypunch == punch:

print

("電腦出拳:%s, 而你出拳:%s。\n所以平局!"

%(transform(punch)

, transform(mypunch)))

else

:print

("電腦出拳:%s, 而你出拳:%s。\n所以你輸了!"

%(transform(punch)

, transform(mypunch)))

else

:print

("輸入錯誤!"

)

用random建立三個隨機數來代表電腦的出拳,然後讀取自己輸入的數值,來判斷自己是否贏了和輸入的數是否出錯,然後建立了乙個transform函式將數字轉化為「石頭」「剪刀」「布」來輸出。

可以使用迴圈持續玩。

完全平方數,就是可以表示為某個整數的平方的數,例如9,是3的平方,16是4的平方,9和16都是完全平方數,請列印10000以內的完全平方數。

for i in

range(1

,101):

print

(i**

2)

如果直接建立從1到10000的迴圈,則執行次數過多。

已知10000開方為100,所以建立乙個從1到100的迴圈。直接輸出i的平方。

編寫乙個函式,輸入n為偶數時,呼叫函式求1/2+1/4+…+1/n,當輸入n為奇數時,呼叫函式1/1+1/3+…+1/n。

def

odd(n)

:sum

=0.0

for i in

range(1

, n+1,

2):sum

+=1.0

/i print

(sum

)def

even

(n):

sum=

0.0for i in

range(2

, n +1,

2):sum

+=1.0

/ i print

(sum

)number =

int(

input

("請輸入乙個整數:"))

if number %2==

0:even(number)

else

: odd(number)

按照題目要求,建立了兩個函式,乙個偶數乙個奇數。

對於乙個十進位制的正整數,定義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。

例如:輸入: 51 5000 10000

輸出: 3

def

f(n)

: n =

str(n)

sum=

0for item in n:

sum+=

int(item)**2

return

sumk, a, b =

input

("請輸入三個正整數k, a, b:\n"

).split(

)count =

0for i in

range

(int

(a),

int(b)+1

):ifint

(k)* f(i)

== i:

count +=

1print

(count)

按照題目思想,建立乙個f(n)函式,將n字元化(方便迭代),將每個數提取出來整數化求平方和。從鍵盤上提取三個數,賦給k, a, b然後建立迴圈從a到b,判斷k*f(n)=n否,如果等,則疊加一次。

猜數字:

a. 隨機產生乙個1~100範圍內的數字;

b. 讓使用者猜這個數字,並讀取使用者的輸入;

c. 當使用者沒有猜對的時候:提示使用者的輸入太大或太小;

d. 再次讀取使用者的輸入,當使用者猜對的時候,輸出使用者猜測的次數。

import random

number = random.randint(1,

100)

flag =

true

sum=

0while flag:

mynumber =

int(

input

("請你猜乙個數字(1~100):\n"))

if mynumber > number:

print

("你猜的數大了"

)elif mynumber < number:

print

("你猜的數小了"

)else

:print

("您猜對了!!!"

) flag =

false

sum+=

1print

("您一共猜了%d次成功猜到答案!"

%sum

)

運用random隨機生成1~100的數,然後與你輸入的數做對比並且提示。按照二分法,則最多7次就能猜對數字。

python題目練習0

思考題 python是怎麼誕生的?python之父是誰?q1 1989年聖誕節期間,在阿姆斯特丹,guido van rossum為了打發聖誕節的無趣,決心開發乙個新的指令碼解釋程式,做為abc 語言的一種繼承。之所以選中python 大蟒蛇的意思 作為程式的名字,是因為他是乙個叫monty pyt...

python練習題目

三色球問題 有紅 黃 藍三種顏色的求,其中紅球 3 個,黃球 3 個,綠球 6 個。先將這 12 個球混合放在乙個盒子中,從中任意摸出 8 個球,程式設計計算摸出球的各種顏色搭配。print red tyellow tblue for red inrange 0,4 for yellow in ra...

python練習題目

1.檢視本機安裝python版本 2.用python列印 hello world 給出源 和執行結果 a.命令列視窗輸出 前提 python程式加入path系統環境變數 b.python.exe程式輸出 3.用python計算10 3,發出截圖 4.檢視通過pip安裝python module 利用...