python練習案例--剪刀石頭布


  今天探討了下關於python的一個練習剪刀石頭布,可能程序還是多少有些不足,歡迎各位批評指正:

代碼如下:

import random
def main():
#將玩家和機器視為兩個參量,機器產生隨機數1-3,代表着'1':'石頭','2':'剪刀','3':'布'
#然后玩家可以輸入進行模擬比賽了
print('*******************begin*******************')
#先設置一個空表以及初始化infos
player_info = []
player_score = 0
infos = {'1':'石頭','2':'剪刀','3':'布'}

while True:
#控制程序可以一直比賽下去
computer = str(random.randint(1,3))
player = input('請選擇:1-石頭,2-剪刀,3-布:')
if player not in ['1','2','3']:
print('輸入有誤,請重新輸入:')
continue
else:
ret = (player,computer)
player_info.append(ret)
if ret==('1','2') or ret==('2','3') or ret==('3','1'):
print('玩家贏了')
player_score += 1
elif player == computer:
print('平局')
else:
print('機器贏了')
player_score -= 1
print('對戰雙方結果:玩家:%s,機器;%s'%(infos[player],infos[computer]))
#設置結束條件
choice = input('\n是否繼續游戲?(yes/no):')
if choice=='no':
break
elif choice=='yes':
continue
else:
#這里還有優化的空間,后面補充如何讓其跳轉到——是否繼續游戲
print('輸入有誤!')
continue

print('*******************end*******************')
index=1
print('玩家\t\t機器\n')
for m,n in player_info:
print('%s\t\t%s'%(infos[m],infos[n]))
print('總分為:%s'%player_score)
main()#此處調用

運行結果如下:

*******************begin*******************
請選擇:1-石頭,2-剪刀,3-布:1
平局
對戰雙方結果:玩家:石頭,機器;石頭

是否繼續游戲?(yes/no):yesw
輸入有誤!
請選擇:1-石頭,2-剪刀,3-布:3
機器贏了
對戰雙方結果:玩家:布,機器;剪刀

是否繼續游戲?(yes/no):yes
請選擇:1-石頭,2-剪刀,3-布:2
玩家贏了
對戰雙方結果:玩家:剪刀,機器;布

是否繼續游戲?(yes/no):3
輸入有誤!
請選擇:1-石頭,2-剪刀,3-布:3
機器贏了
對戰雙方結果:玩家:布,機器;剪刀

是否繼續游戲?(yes/no):no
*******************end*******************
玩家 機器

石頭 石頭
布 剪刀
剪刀 布
布 剪刀
總分為:-1

說明:部分內容來源於網絡學習


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM