以下為作業13內容
利用 iframe 嵌入投影片:
程式碼
import random
產生標準答案 利用 list 數列資料型別建立顏色選項
#Red 紅色, White 白色, Yellow 黃色, Green 綠色, Blue 藍色, Purple 紫色, 假設顏色值不會重複
print('''遊戲規則說明: 可選顏色值, \nRed 紅色, White 白色, Yellow 黃色, Green 綠色, \nBlue 藍色, Purple 紫色, \nRBYGBP, \nX 表示位置與顏色都對, O 表示顏色對, 但是位置不對.''')
顏色選項 = ["R", "W", "Y", "G", "B", "P"]
標準答案 = random.sample(顏色選項, 4)
print (標準答案)
顏色字串 = "" 幾次決勝 = 9 猜測次數 = 0 遊戲進行中 = True
print ("總共有", 幾次決勝 - 猜測次數, "次機會,可以猜!")
for i in range(len(顏色選項)):
顏色字串 += 顏色選項[i]
#print (顏色字串)
while 遊戲進行中: 位置顏色都正確 = ""
顏色對位置錯 = ""
# 將使用者的輸入轉為大寫英文字母
使用者猜測輸入 = input("請從下列顏色值中選四個, "+顏色字串+": ").upper()
猜測次數 += 1
# 檢驗是否輸入四個顏色字母
if len(使用者猜測輸入) != len(標準答案):
print ("\n只能猜四個顏色, 請重猜!")
print ("\n剩下", 幾次決勝 - 猜測次數, "次機會,可以猜: ")
continue
# 判斷是否重複選擇相同顏色
if len(使用者猜測輸入) > len(set(使用者猜測輸入)):
print ("\n顏色值不能重複!")
print ("\n剩下", 幾次決勝 - 猜測次數, "次機會,可以猜: ")
continue
for i in range(4):
# 判斷是否從顏色選項輸入
if 使用者猜測輸入[i] not in 顏色選項:
print ("\n只能從下列顏色選項中輸入!", 顏色選項)
print ("\n剩下", 幾次決勝 - 猜測次數, "次機會,可以猜: ")
continue
if 位置顏色都正確 != "XXXX":
for i in range(4):
if 使用者猜測輸入[i] == 標準答案[i]:
位置顏色都正確 += "X"
if 使用者猜測輸入[i] != 標準答案[i] and 使用者猜測輸入[i] in 標準答案:
顏色對位置錯 += "O"
print (位置顏色都正確 + 顏色對位置錯 + "\n")
if 位置顏色都正確 == "XXXX":
if 猜測次數 == 1:
print ("太神奇了, 1 次就猜對!")
else:
print ("還不錯... 總共猜了 " + str(猜測次數) + " 次, 終於猜對!")
遊戲進行中 = False
if 猜測次數>= 1 and 猜測次數 = 幾次決勝:
print ("沒有猜對! 願賭服輸, 答案顏色值為: " + str(標準答案))
遊戲進行中 = False
# 詢問要不要再玩
while 遊戲進行中 == False:
遊戲結束詢問 = input("\n要不要再玩 (Y/N)?").upper()
# 猜測次數歸零
猜測次數 = 0
if 遊戲結束詢問 =="N":
print ("歡迎再回來玩!")
elif 遊戲結束詢問 == "Y":
遊戲進行中 = True
# 重新產生標準答案
標準答案 = random.sample(顏色選項, 4)
#print (標準答案)
print ("好, 再玩一次...")
print ("總共有", 幾次決勝 - 猜測次數, "次機會,可以猜!")
Comments
comments powered by Disqus