猜數(shù)字游戲
計(jì)算機(jī)出一個(gè)1~100之間的隨機(jī)數(shù)由人來(lái)猜
計(jì)算機(jī)根據(jù)人猜的數(shù)字分別給出提示大一點(diǎn)/小一點(diǎn)/猜對(duì)了,并繼續(xù)輸入
關(guān)于這一題,因?yàn)椴恢姥h(huán)的次數(shù)和迭代對(duì)象,所以選擇while循環(huán)
1、首先用random.randint定義一個(gè)隨機(jī)數(shù)
2、第一次寫的時(shí)候把輸入的答案放在循環(huán)外面,后來(lái)想了一下,如果要根據(jù)提示再繼續(xù)輸入的話就必須把要每次輸入的數(shù)字放入循環(huán)中,否則無(wú)法循環(huán)輸入
3、break在循環(huán)里面的作用很重要,注意思考該把他放在哪兒。
import
random
a
=
random
.
randint
(
1
,
100
)
count
=
0
while
True
:
b
=
int
(
input
(
"請(qǐng)輸入您的答案:"
)
)
count
+=
1
if
a
<
b
:
print
(
"小一點(diǎn)"
)
elif
a
>
b
:
print
(
"大一點(diǎn)"
)
else
:
print
(
"猜對(duì)了,您一共猜了%d次"
%
count
)
break
九九乘法表
for
i
in
range
(
1
,
10
)
:
for
j
in
range
(
1
,
10
)
:
print
(
'%d × %d = %d'
%
(
i
,
j
,
i
*
j
)
)
尋找水仙花數(shù)
如果一個(gè) 3 位數(shù)等于其各位數(shù)字的立方和,則稱這個(gè)數(shù)為水仙花數(shù)。例如:153 = 1^3 + 5^3 + 3^3,因此 153 就是一個(gè)水仙花數(shù)。
for
i
in
range
(
100
,
1000
)
:
if
(
i
//
100
)
**
3
+
(
i
%
100
//
10
)
**
3
+
(
i
%
10
)
**
3
==
i
:
print
(
'%d是水仙花數(shù)'
%
i
)
尋找完美數(shù)
果一個(gè)數(shù)恰好等于它的因子之和,則稱該數(shù)為“完全數(shù)” [1] 。各個(gè)小于它的約數(shù)(真約數(shù),列出某數(shù)的約數(shù),去掉該數(shù)本身,剩下的就是它的真約數(shù))的和等于它本身的自然數(shù)叫做完全數(shù)(Perfect number)。
例如:第一個(gè)完全數(shù)是6,它有約數(shù)1、2、3、6,除去它本身6外,其余3個(gè)數(shù)相加,1+2+3=6
for
i
in
range
(
1
,
10000
)
:
a
=
[
]
b
=
0
for
j
in
range
(
1
,
i
)
:
if
i
%
j
==
0
:
a
.
append
(
j
)
for
m
in
a
:
b
+=
m
if
b
==
i
:
print
(
"%d是完美數(shù)"
%
i
)
此題循環(huán)的嵌套還是比較細(xì)致的。
1、首先求約數(shù)的循環(huán)要嵌套在外層循環(huán)中,這是求各種數(shù)時(shí)候常用的套路。
2、因?yàn)樗募s數(shù)非常多,所以我的想法是先把約數(shù)全存在一個(gè)表中,再利用一個(gè)遍歷循環(huán)加起來(lái),可以得到約數(shù)之和,然后在判斷約數(shù)之和和數(shù)是否相等
3、本來(lái)把a(bǔ) ,b定義在最外側(cè),后來(lái)發(fā)現(xiàn)這樣的不出來(lái)正確答案。后來(lái)在別人的幫助下才發(fā)現(xiàn),a和b在第二次循環(huán)的時(shí)候把第一次循環(huán)的值保存了下來(lái),導(dǎo)致結(jié)果錯(cuò)誤。
百錢買百雞
print
(
'公雞\t母雞\t雞仔'
)
for
x
in
range
(
0
,
20
)
:
for
y
in
range
(
0
,
33
)
:
if
3x
+
5y
+
(
100
-
x
-
y
)
/
3
=
100
:
print
(
x
,
"\t"
,
y
,
"\t"
,
(
100
-
x
-
y
)
)
在這題里面了解到了制表符的妙用
1、公雞5錢1個(gè),母雞3錢1個(gè),總共100錢,那么公雞最多買20,母雞最多買33,實(shí)際上買不到,只是給它限制住循環(huán)的條件
2、雞仔1錢3個(gè),且雞仔可以通過(guò)x和y表示,把方程和約束條件寫出來(lái),讓程序給出排列,此題非常有參考意義。
3、制表符可以保證有著上下打印的東西在一般情況保持對(duì)齊,打印的時(shí)候,如果是變量就不能像字符串一樣用+來(lái)拼接。****
更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主
微信掃碼或搜索:z360901061
微信掃一掃加我為好友
QQ號(hào)聯(lián)系: 360901061
您的支持是博主寫作最大的動(dòng)力,如果您喜歡我的文章,感覺我的文章對(duì)您有幫助,請(qǐng)用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點(diǎn)擊下面給點(diǎn)支持吧,站長(zhǎng)非常感激您!手機(jī)微信長(zhǎng)按不能支付解決辦法:請(qǐng)將微信支付二維碼保存到相冊(cè),切換到微信,然后點(diǎn)擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對(duì)您有幫助就好】元

