Python-使多个变量产生新的结果

时间:2018-09-13 23:49:30

标签: python

在我学习时,请原谅我,但我需要一些帮助来完成一项活动。我必须用设置的卡来创建一个BINGO游戏,当用户输入数字时,它将告诉他们是否收到不存在的字母。我正在努力的是,一旦用户拥有了所有字母,如何使它们“赢”?

这是我到目前为止所拥有的:

print ("WELCOME to BINGO\n")
print ("Pick numbers between 1-80")
print ("Collect BINGO to win\n")

#BINGOboard
B = {"7","14"}
I = {"26","22"}
N = {"40","34"}
G = {"58","55"}
O = {"73","68"}
x = {"B"+"I"+"N"+"G"+"O"}

#collecting data
number = True
x = False

while number:
    answer = input("Please enter in your guess\n")
    if answer in B :
        print("You have a B!")
    elif answer in I :
        print("You have a I!")
    elif answer in N :
        print("You have a N!")
    elif answer in G :
        print("You have a G!")
    elif answer in O :
         print("You have a O!")
    elif answer in x :
         print("Congrats")
    else:
        print("Sorry that number is not on the board, please try again!\n")

1 个答案:

答案 0 :(得分:0)

我坚决忠于您的原始游戏模型,但我对其进行了欺骗。不仅是为了向您展示更多代码,而且还要考虑代码中包含的内容。就像用户输入否定字母或字母一样。如果用户重新输入他们已经拥有的号码,该怎么办。这些是您在处理代码时要考虑的事情,否则,您可能会走得更远,不得不重新设计整个代码以处理您忽略的问题!

干杯希望这对您有帮助!

print("WELCOME to BINGO\n")
print("Pick numbers between 1-80\n")
print("Collect BINGO to win")

B = [7, 14]
I = [26, 22]
N = [40, 34]
G = [58, 55]
O = [73, 68]

user = []
win = [B, I, N, G, O]

while sorted(user) != sorted(win):
    guess = -1
    while guess < 0:
        try:
            guess = int(input("\nPlease enter a guess: "))
        except ValueError:
            continue
    if guess in B:
        if B in user:
            print(f"You already have B!{B}")
        else:
            print("You have a B!")
            user.append(B)
    elif guess in I:
        if I in user:
            print(f"You already have I!{I}")
        else:
            print("You have a I!")
            user.append(I)
    elif guess in N:
        if N in user:
            print(f"You already have N!{N}")
        else:
            print("You have a N!")
            user.append(N)
    elif guess in G:
        if G in user:
            print(f"You already have G!{G}")
        else:
            print("You have a G!")
            user.append(G)
    elif guess in O:
        if O in user:
            print(f"You already have O!{O}")
        else:
            print("You have a O!")
            user.append(O)
    else:
        print("Sorry that number is not on the board, try again!")

print("\nCongratulations you won!")

输出

(xenial)vash@localhost:~/python$ python3.7 bingo.py 
WELCOME to BINGO

Pick numbers between 1-80

Collect BINGO to win

Please enter a guess: 1
Sorry that number is not on the board, try again!

Please enter a guess: 7
You have a B!

Please enter a guess: 14
You already have B![7, 14]

Please enter a guess: 73
You have a O!

Please enter a guess: 40
You have a N!

Please enter a guess: 58
You have a G!

Please enter a guess: 22
You have a I!

Congratulations you won!