#開發時間:2021/12/7 19:38
版本一:
# 玩家通過輸入012識別出拳
# 電腦隨機出拳
from random import random
while True:
guess=int(input("請輸入你猜的內容 [2:剪刀、布:1、0:石頭]:"))
if(guess != 2 and guess != 1 and guess != 0 ) :
print("數值不符合規定,請從新輸入您的猜的內容!")
break
if guess ==1:
print("您出布")
elif guess ==2:
print("您出剪刀")
else :
print("您出石頭")
guess_computer=int(2*random())
if guess_computer ==1:
print("電腦出布")
elif guess_computer ==2:
print("電腦出剪刀")
else :
print("電腦出石頭")
if(guess == 2 and guess_computer == 2) or (guess == 1 and guess_computer == 1) or (guess == 0 and guess_computer == 0) :
print("平局")
elif (guess == 2 and guess_computer == 1) or (guess == 1 and guess_computer == 0) or (guess == 0 and guess_computer == 2) :
print("您贏了!!!")
else:
print("你輸了,Don't Worried!")
版本2:在版本1的基礎上想實作 布5剪2石0 利用random.choice()實作
import random
while True:
guess=int(input("請輸入你猜的內容 [布:5、剪刀:2、石頭:0]:"))
if(guess != 5 and guess != 2 and guess != 0 ) :
print("數值不符合規定,請從新輸入您的猜的內容!")
break
if guess ==5:
print("您出布")
elif guess ==2:
print("您出剪刀")
else :
print("您出石頭")
a=(5,2,0)
guess_computer = random.choice(a)
#在版本一的基礎上修改這個方法
#創建一個陣列去存盤想要隨機的數值,然后再用random.choice()這個方法去隨機抽取其中的值,
#抽取出來的值不會改變資料型別
#例子證明:
#array=(1,1.1,(1,2),'a')
#ran=random.choice(array)
#print(ran,type(ran))
if guess_computer ==5:
print("電腦出布")
elif guess_computer ==2:
print("電腦出剪刀")
else :
print("電腦出石頭")
if(guess == 5 and guess_computer == 5) or (guess == 2 and guess_computer == 2) or (guess == 0 and guess_computer == 0) :
print("平局")
elif (guess == 5 and guess_computer == 0) or (guess == 2 and guess_computer == 5) or(guess == 0 and guess_computer == 2) :
print("您贏了!!!")
else:
print("你輸了,Don't Worried! Play again !!!")
版本3:希望在版本2的基礎上,通過輸入中文去出拳
import random
while True:
guess=input("請輸入您出拳[布|剪刀|石頭]:")
if(guess != '布' and guess != '剪刀' and guess != '石頭' ) :
print("數值不符合規定,請從新輸入您的猜的內容!")
break
print(f'您出的是{guess}')
alist=('布','剪刀','石頭')
guess_computer = random.choice(alist)
#因為random.choice(seq) 不會改變元素的資料型別的特點,簡化代碼,
print(f'電腦出的是{guess_computer}')
if(guess == guess_computer) :
print("平局")
elif (guess == '布' and guess_computer == '石頭') or (guess == '剪刀' and guess_computer == '布') or(guess == '石頭' and guess_computer == '剪刀') :
print("您贏了!!!")
else:
print("你輸了,Don't Worried! Play again !!!")
"""
總結:
使用random必須引包import random
random() 產生[0,1)的亂數
random.randint(開始,結束) 產生自定義范圍的亂數且為整型數
random.choice(seq) 產生自定義序列中的亂數,且序列中的資料型別保持不變
"""
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/377215.html
標籤:其他
