Python 每日一題:鍛煉Python語法的運用,思維邏輯的鍛煉,演算法能力的培養,
題目:
用戶隨機輸入石頭剪刀布所對應的序號,當輸入為空則結束游戲;電腦隨機產生一個0 ~ 2 之間的亂數,然后按照:
石頭 勝 剪刀,剪刀 勝 布, 布 勝 石頭 的游戲規則,判斷電腦與用戶的之間的輸贏,并記錄完成的次數,
分析:
1、使用串列存盤石頭、剪刀、布 三個元素用于之后顯示;
2、列印提示石頭剪刀布的序號,讓用戶輸入;
3、電腦產生隨機值,根據隨機值及游戲規則判定游戲的輸贏;
4、創建變數記錄,游戲及玩家勝利的次數,
實作:
import random
def rock_paper_scissors_game():
game_list = ['石頭', '剪刀', '布']
victory_count = 0 # 勝利次數
failure_count = 0 # 失敗次數
draw_count = 0 # 平局次數
game_count = 1 # 記錄游戲次數
while True:
computer_num = random.randint(0, 2)
print('------------ 第{}局 ------------'.format(game_count))
for i, v in enumerate(game_list):
print('{}、{}\t\t'.format(i, v), end='')
print('\n------------------------------')
user_num = input('請輸入【0-2】之間的整數:')
if not user_num:
print('您的戰績是:【{}】勝【{}】負【{}】平'.format(victory_count, failure_count, draw_count))
break
user_num = int(user_num)
if 0 <= user_num < 3:
if user_num == 0:
if computer_num == 0: # 用戶出:石頭
print('您出的是【{0}】,電腦出的是【{0}】 --> 平局'.format(game_list[user_num]))
draw_count += 1
elif computer_num == 1:
print('您出的是【{}】,電腦出的是【{}】 --> 您贏'.format(game_list[user_num], game_list[computer_num]))
victory_count += 1
else:
print('您出的是【{}】,電腦出的是【{}】 --> 電腦贏'.format(game_list[user_num], game_list[computer_num]))
failure_count += 1
elif user_num == 1: # 用戶出:剪刀
if computer_num == 0:
print('您出的是【{}】,電腦出的是【{}】 --> 電腦贏'.format(game_list[user_num], game_list[computer_num]))
failure_count += 1
elif computer_num == 1:
print('您出的是【{0}】,電腦出的是【{0}】 --> 平局'.format(game_list[user_num]))
draw_count += 1
else:
print('您出的是【{}】,電腦出的是【{}】 --> 您贏'.format(game_list[user_num], game_list[computer_num]))
victory_count += 1
else: # 用戶出:布
if computer_num == 0:
print('您出的是【{}】,電腦出的是【{}】 --> 您贏'.format(game_list[user_num], game_list[computer_num]))
victory_count += 1
elif computer_num == 1:
print('您出的是【{}】,電腦出的是【{}】 --> 電腦贏'.format(game_list[user_num], game_list[computer_num]))
failure_count += 1
else:
print('您出的是【{0}】,電腦出的是【{0}】 --> 平局'.format(game_list[user_num]))
draw_count += 1
game_count += 1
print('*' * 50)
else:
print('您的輸入有誤!')
print('*' * 50)
rock_paper_scissors_game()
結果:
------------ 第1局 ------------
0、石頭 1、剪刀 2、布
------------------------------
請輸入【0-2】之間的整數:0
您出的是【石頭】,電腦出的是【剪刀】 --> 您贏
**************************************************
------------ 第2局 ------------
0、石頭 1、剪刀 2、布
------------------------------
請輸入【0-2】之間的整數:1
您出的是【剪刀】,電腦出的是【布】 --> 您贏
**************************************************
------------ 第3局 ------------
0、石頭 1、剪刀 2、布
------------------------------
請輸入【0-2】之間的整數:0
您出的是【石頭】,電腦出的是【布】 --> 電腦贏
**************************************************
------------ 第4局 ------------
0、石頭 1、剪刀 2、布
------------------------------
請輸入【0-2】之間的整數:
您的戰績是:【2】勝【1】負【0】平
【結語】以上整個程式的實作邏輯,還存在很多不全面的地方,歡迎各位大佬指點;如果覺得筆者不易,請給予點贊,給予我記錄更多文章的動力!!
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/263819.html
標籤:python
上一篇:SpringBoot自動裝配原理分析和實作自定義啟動器
下一篇:Opencv實作圖片的油畫特效
