# -*- coding: utf-8 -*-
#displays title
print (" H___________________________________________ ")
print ("/========/| █░█ █▀▀█ █▀▀█ █░░ █▀▀█ █▀▀▄ █▀▀▄ \ ")
print ("|||||||||||-█̶▀̶▄̶ ̶█̶░̶░̶█̶ ̶█̶░̶░̶█̶ ̶█̶░̶░̶ ̶█̶▄̶▄̶█̶ ̶█̶░̶░̶█̶ ̶█̶░̶░̶█̶ -\ ")
print ("\========\|_▀̲░̲▀̲ ̲▀̲▀̲▀̲▀̲ ̲▀̲▀̲▀̲▀̲ ̲▀̲▀̲▀̲ ̲▀̲░̲░̲▀̲ ̲▀̲░̲░̲▀̲ ̲▀̲▀̲▀̲░̲ __\ ")
print (" H ")
print (" = ")
#intro
print ("Welcom to the land of kool")
#asks your name
name = input ("Can you tell me your name!")
#says hello
print ("Well hello",name,"!")
显示错误:
NameError: name '______' is not defined
答案 0 :(得分:3)
根据您使用的Python版本,您可能需要使用..
name = raw_input("Can you tell me your name!")
请查看此内容以供参考。 What's the difference between raw_input() and input() in python3.x?
答案 1 :(得分:1)
在Python 2.x中使用raw_input()
代替input()
,因为input()
是eval(raw_input))
的“简写”。
在Python 2.7中,您需要使用raw_input()
而不是input()
。 raw_input()
允许您将用户输入作为字符串读入,而input()
是eval(raw_input())
的“简写”,它试图将用户输入作为文字Python代码进行评估
这在python 2.x文档中有记载:
[
input()
是]等同于eval(raw_input(prompt))
。此功能不会捕获用户错误。如果输入在语法上不合法,则会引发
SyntaxError
。如果在评估过程中出现错误,可能会引发其他异常。如果加载了readline模块,则input()将使用它来提供精细的行编辑和历史记录功能。
考虑将
raw_input()
函数用于用户的一般输入。
但是后来在Python 3.x中进行了更改。在Python 3.x raw_input()
成为input()
,旧输入(eval(raw_input())
)被删除。这在What's new in Python 3:
PEP 3111:
raw_input()
已重命名为input()
。也就是说,新的input()
函数从sys.stdin
读取一行,并在删除尾随换行符的情况下返回该行。如果输入提前终止,它会引发EOFError
。要获取input()
的旧行为,请使用eval(input())
。
(强调我的)
因此在Python 2.x中使用raw_input()
而不是input()
,因为input()
是eval(raw_input))
的“简写”。例如。变化:
name = input ("Can you tell me your name!")
到
name = raw_input ("Can you tell me your name!")