程式實現:求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 利用...