Python 输入命令有问题

Python 输入命令有问题,python,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):

嗨,我是一名学生,也是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:\Users\muziek\Desktop\q1.py", line 2, in <module>
    if x == O:
NameError: name 'O' is not defined
回溯(最近一次呼叫最后一次):
文件“C:\Users\muziek\Desktop\q1.py”,第2行,在
如果x==O:
NameError:未定义名称“O”

请帮助?

在您的代码中,您试图将变量
x
与任何数量的其他变量进行比较,
O
a
AB
B
。最后四个都没有定义,因此您总是会得到一个
namererror


您可能是指
x=='O':
,等等。

对于Python中的字符串,需要在其周围加引号。现在Python认为
O
等都是变量。 固定的:


首先,您应该使用
原始输入
而不是
输入

您需要将
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?")

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?")