在python中,我在我的其他地方之后有一个print语句:但是在运行代码后它似乎没有实际打印它

时间:2017-06-28 10:08:22

标签: python

pin1 = int(input("Please set a pin: "))
print("Welcome to Satan's Soul Bank, Enter ya pin!")
attempt = int(input("Please enter your pin number first"))

if attempt == pin1:
    print("Select operation.")
    print("1.Deposit Souls")
    print("2.Withdraw Souls")
    print("3.Check Soul balance")
    choice = int(input("Enter choice(1/2/3):"))
elif attempt != pin1:
              for i in range(2):
                  attempt = int(input("Invalid Attempt Please enter your pin 
number again"))
else:
    print ("Card Swallowed Contact SATAN")

代码本身与else之后的print语句不同:它似乎无法识别它并且只是错过它,基本上我需要它来打印卡已经被吞下3次但是当我把它放入elif时它只是打印它每次我得到错误的区域,所以有任何其他方式来解决导致它打印卡已被吞下第3次

5 个答案:

答案 0 :(得分:1)

如其他答案中所述,elif块涵盖了if块不满足的条件。为了确保在else块中打印语句,您可以使用flag变量,该变量在最大错误尝试之前将设置为false。达到最大尝试次数后,将flag设置为true

如果flag设置为true,则会吞下print'卡。联系撒旦......'

答案 1 :(得分:1)

您需要重新构建代码才能获得所需内容。

pin1 = int(input("Please set a pin: "))
print("Welcome to Satan's Soul Bank, Enter ya pin!")

correct_pin = False

for i in range(3):
    attempt = int(input("Please enter your pin number first"))
    if attempt == pin1:
        correct_pin = True
        break
    else:
        print("Invalid PIN. {} attempts remain.".format(2 - i))

if correct_pin:
    print("Select operation.")
    print("1.Deposit Souls")
    print("2.Withdraw Souls")
    print("3.Check Soul balance")
    choice = int(input("Enter choice(1/2/3):"))
else:
    print ("Card Swallowed Contact SATAN")

我们循环3次,如果用户获得正确的引脚则退出,并且只有在引脚正确时才提供更多选项。

答案 2 :(得分:0)

在您的代码中

attempt

由于其中一个条件始终成立(pin1等于else),程序将永远不会到达{{1}}部分。

答案 3 :(得分:0)

只有当ifelif 为false时,才会运行代码中的“else”块。唯一可能发生的方法是(attempt == pin1)为假 (attempt != pin1)为假。

正如你所看到的那样,这是不可能的,因为要么它们是平等的,要么它们不是 - 它不可能都不是。这就是print ("Card Swallowed Contact SATAN")永远不会运行的原因。

答案 4 :(得分:0)

看起来,你希望程序表现得如下:

pin1 = int(input("Please set a pin: "))
print("Welcome to Satan's Soul Bank, Enter ya pin!")
attempt = int(input("Please enter your pin number first"))

if attempt == pin1:
    print("Select operation.")
    print("1.Deposit Souls")
    print("2.Withdraw Souls")
    print("3.Check Soul balance")
    choice = int(input("Enter choice(1/2/3):"))
elif attempt != pin1:
            for i in range(2):
                attempt = int(input("Invalid Attempt Please enter your pin number again"))
            print ("Card Swallowed Contact SATAN")

在两次不正确的尝试之后,您想告诉用户联系SA **