以下為作業12內容
利用 iframe 嵌入投影片:
Jupyter notebook 檔案內容:
猜顏色遊戲
In [ ]:
import random
# 產生標準答案
# 利用list數列資料型別建立顏色選項
# Red 紅色, White 白色, Yellow 黃色, Green 綠色, Blue 藍色, Purple 紫色, 假設顏色值不會重複
print('''遊戲規則說明: 可選顏色值, \nRed 紅色 , White 白色, Yellow 黃色, Green 綠色, Blue 藍色, Purple 紫色, \nRWYGBP, \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 猜測次數 < 幾次決勝 and 位置顏色都正確 != "XXXX":
print("剩下", 幾次決勝 - 猜測次數, "次機會, 可以再猜: ")
elif 猜測次數 >= 幾次決勝:
print("沒有猜對! 答案顏色值為: " +str(標準答案))
遊戲進行中 = False
# 詢問要不要再玩
while 遊戲進行中 == False:
遊戲結束詢問 = input("\n要不要再玩 (Y/N)?").upper()
# 猜測次數歸零
猜測次數 = 0
if 遊戲結束詢問 == "N":
print("歡迎再回來玩!")
elif 遊戲結束詢問 == "Y":
遊戲進行中 = True
# 重新產生標準答案
標準答案 = random.sample(顏色選項, 4)
# print (標準答案)
print("好, 在玩一次!")
print("總共有 ", 幾次決勝-猜測次數, "次機會, 可以猜!")
In [ ]:
w12_2015_12_04 from 40123210 on Vimeo.