一.剪刀石頭布
需求:和電腦玩剪刀石頭布游戲
考察點:1.隨機數;2.判斷語句
import random
# num=random.randint(1,3)
# print(num)
# print('*'*30)
#1.錄入玩家手勢
player=int(input('請輸入手勢:(1.剪刀 2.石頭 3,布):'))
#2.生成電腦手勢
computer=random.randint(1,3)
print(f'電腦手勢:{computer}')
#3.比較,給出結果。
if player!=1 and player!=2 and player!=3:print('輸入的值有誤,請重新輸入!')
elif player==computer:print('平局了!')
elif (player==1 and computer==3) or(player==2 and computer==1) or (player==3 and computer==2):print('恭喜你贏了!')
else:print('電腦贏了!')
二、報數字游戲
需求:鍵盤錄入參與游戲的總人數,統計個位數不為7且不是7的倍數的總數有多少個。
考察點:統計(計數)思想
'''
案例:報數字游戲
考察點:統計(計數)思想
需求:鍵盤錄入參與游戲的總人數,統計個位數不為7且不是7的倍數的總數有多少個
提示:錄入50 結果:39
'''
#1.鍵盤錄入用戶數字
num=eval(input('請輸入參與游戲的總人數:'))
#2.count用于記錄合法的總人數
count=0
#3.for循環獲取具體人數的編號
for i in range(1,num+1):
#4.判斷當前數字是否非法,如果非法continueif i%7==0 or i%10==7:continue
#5.走到這里,我們要的數字計數器+1count+=1
#6.循環結束后,打印結果
print(f'符合條件的有{count}個')
# s1='sbabc'
# print('abc' in s1)
name='張三'
print(name)
print(eval('name'))
# print(eval('張三'))
三、水仙花數
需求:打印所有的水仙花數
#水仙花數,三位數,各個數位的立方和相加等于該數字 #例如:153=1*1*1+5*5*5+3*3*3
#1.打印所有的水仙花數:
#水仙花數,三位數,各個數位的立方和相加等于該數字
#例如:153=1*1*1+5*5*5+3*3*3
'''
獲取一個數字各個數位:
個位:i//1%10
十位:i//10%10
百位:i//100%10
千位:i//1000%10
......
'''
#1)我的做法
for i in range(100,1000):a=i//100%10b=i%100//10c=i//1%10if a*a*a+b*b*b+c*c*c==i:print(i)
print('-'*30)
#2)正規做法
for i in range(100,1000):ge=i//1%10shi=i//10%10bai=i//100%10if ge*ge*ge+shi*shi*shi+bai*bai*bai==i:print(i)
print('-'*30)
#需求2.統計水仙花數的個數
count=0
for i in range(100,1000):ge=i//1%10shi=i//10%10bai=i//100%10if ge*ge*ge+shi*shi*shi+bai*bai*bai==i:count+=1
print(f'水仙花數的個數是:{count}')
print('-'*30)
四、打印質數
需求:打印(1,100)所有的質數。
考察點:循環+else語法
#執行流程: #如果循環是正常結束(即:不是通過break跳出的)
#就一定會指定else中的內容,反之,則不執行。
#循環只要不是break方式結束的,就會正常退出,走else的內容,否則不走else的內容。
#1.假設10是質數,1和10可以排除,因為肯定能整除,只要拿10和2,3,4,5,6,7,8,9來逐個判斷,只要有一組能整除,說明10不是質數
#核心思路:判斷i是否是整數,只要拿i和2~(i-1)逐個判斷即可。
#核心思路:判斷i是否是整數,只要拿i和2~i//2逐個判斷即可。
#1.定義計數器,用于記錄質數的個數
count=0
#2.獲取1-100之間的所有數字
for i in range(2,101):#i就是要判斷是否是質數的值#獲取2~i//2之間的所有數字for j in range(2,i//2+1):#判斷是否是質數if i%j==0:break#能整除,說明i不是質數else:count+=1# #方式1.分解版# if count%3==0:# print(i,end='\n')# else:# print(i,end='\t')#方式2.#my version# print(i,end='\n') if count%3==0 else print(i,end='\t')#teacher version#三元表達式做法print(i,end='\n'if count%3==0 else '\t')
五、猜數字游戲
需求:隨機生成1個1-100之間的整數,讓用戶來猜,猜對了結束,猜錯了繼續猜,并提示用戶猜大了還是猜小了。
考察點:1.隨機數;2.條件判斷。
#1.導包
import random
#2.隨機生成1-100之間的隨機整數
guess_number=random.randint(1,100)
#3.循環,讓用戶猜。因為不知道用戶多少次能猜對,所以用while死循環.
while True:#4.提示用戶錄入一個整數,并接收input_number=eval(input('請錄入您要猜的整數:'))#5.判斷用戶輸入的整數與隨機數是否相等,并提示。if input_number>guess_number:print('猜大了!')elif input_number<guess_number:print('猜小了!')else:print('恭喜你,猜對了!')break
六、打印九九乘法表
需求:打印九九乘法表
考察點:循環語句
for循環寫法:
?
#案例5.打印九九懲罰表
for i in range(1,10):#外循環,控制行數,包左不包右for j in range(1,i+1):print(f'{j}*{i}={i*j}',end='\t')print()
print('-'*30)
while循環寫法:
i=1
while i<=9:j=1while j<=i:print(f'{j}*{i}={j*i}',end='\t')j+=1print()i+=1
print('-'*30)
運行結果:
下期繼續分享,有實力的老板打賞一下,萬分感謝!!!