我正在尝试编写用户输入出生月份和日期之后的星座图。
print("To figure out your horoscope, enter the following questions")
month = int(input("what month were you born(january,december,august: "))
days = int(input("what day were you born(2,4,12: "))
if month == 'december':
astro_sign = 'Sagittarius are nice people' if (day < 22) else 'Capricon are adventurous'
print(astro_sign)
但是,每次执行代码时,都会给出错误:
print(astro_sign)
NameError: name 'astro_sign' is not defined
目前,我只放了一个月12,白天低于22,后来当这段代码的一部分工作时,我将增加更多月份。谁能帮帮我吗?
答案 0 :(得分:3)
这是因为您在条件astro_sign
中引入/创建了if month == '12':
变量。因此,每次您输入的内容实际上都不是&#39; 12&#39;时,您最终会收到此错误。
只需在有条件之前创建astro_sign
,因此,如果您输入条件,则至少可以使用astro_sign = ''
if month == '12':
# rest of code here
:
month = int(input("month: "))
此外,您永远不会使用当前代码实际输入该条件,因为您在这里将输入作为int输入:
'12'
但是,您的条件是明确检查每个单引号的字符串:if month == '12':
。
所以,而不是:
if month == 12:
你其实应该这样做:
range(1,i+1)
删除单引号,因此您将int与int进行比较。
答案 1 :(得分:-1)
print("Please enter your birthday")
month = int(input("month: "))
day = int(input("day: "))
if month == '12':
print('Sagittarius are nice people')
if day < 22:
print('Capricon are adventurous')
看看这是否真的适合你(请告诉我,如果我把它弄错了)