以下為作業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