输入命令有问题

  • 本文关键字:有问题 命令 python
  • 更新时间 :
  • 英文 :


嗨,我是一名学生,也是真正的 python 初学者。我的任务是编写一个程序来打印您的输入血型。我的代码是

x=input("Enter your blood type: ")
if x == O:
    for y in range(6):
        print("O O O O O O")
elif x == A:
    for y in range(6):
        print("A A A A A A")
elif x == B:
    for y in range(6):
        print("B B B B B B")
elif x == AB:
    for y in range(3):
        print("AB AB AB")
else:
    print("N/A blood type! Are you alien?")

喜欢这个。每当我编译它说

Traceback (most recent call last):
  File "C:UsersmuziekDesktopq1.py", line 2, in <module>
    if x == O:
NameError: name 'O' is not defined

请帮忙?

对于 Python 中的字符串,它需要用引号括起来。现在Python认为O等都是变量。固定:

x = input("Enter your blood type: ")
if x == 'O':
    for y in range(6):
        print("O O O O O O")
elif x == 'A':
    for y in range(6):
        print("A A A A A A")
elif x == 'B':
    for y in range(6):
        print("B B B B B B")
elif x == 'AB':
    for y in range(3):
        print("AB AB AB")
else:
    print("N/A blood type! Are you alien?")

在代码中,您尝试将变量x与任意数量的其他变量进行比较,OAABB。最后四个都没有定义,所以你总是会得到一个NameError

你可能的意思是x == 'O':,等等。

首先,你应该使用 raw_input 而不是 input

您需要通过将O放在引号中来使其成为字符串。

进行以下更改:

x = raw_input("Enter your blood type: ")
if x == "O":
    for y in range(6):
        print("O O O O O O")
elif x == "A":
    for y in range(6):
        print("A A A A A A")
elif x == "B":
    for y in range(6):
        print("B B B B B B")
elif x == "AB":
    for y in range(3):
        print("AB AB AB")
else:
    print("N/A blood type! Are you alien?")

最新更新