Python 为什么我从我的在线课程中复制的代码没有';不行?

Python 为什么我从我的在线课程中复制的代码没有';不行?,python,python-3.x,Python,Python 3.x,为什么这个代码不起作用?我正在为python初学者学习一门在线课程,我从教授那里复制了代码。此外,如果我在他们自己的应用程序中运行这段代码来编写考试代码,代码就可以工作了。只给我原子方面的问题 代码是: sh = input("Hours: ") sr = input("Rate: ") try: fh = float(sh) fr = float(sr) except: print("Error, please ente

为什么这个代码不起作用?我正在为python初学者学习一门在线课程,我从教授那里复制了代码。此外,如果我在他们自己的应用程序中运行这段代码来编写考试代码,代码就可以工作了。只给我原子方面的问题

代码是:

sh = input("Hours: ")
sr = input("Rate: ")
try:
    fh = float(sh)
    fr = float(sr)
except:
    print("Error, please enter numeric input")
    quit()

print(fh, fr)
if fh > 40 :
    reg = fr * fh
    otp = (fh - 40.0) * (fr * 0.5)
    xp = reg + otp
else:
    xp = fh * fr
print("Pay: ", xp)
错误是:

Traceback (most recent call last):
File "copia_2.py", line 2, in <module>
sr = input("Rate: ")
File "<string>", line 1, in <module>
NameError: name 'e' is not defined
回溯(最近一次呼叫最后一次):
文件“copia_2.py”,第2行,在
sr=输入(“速率:”)
文件“”,第1行,在
NameError:未定义名称“e”

谢谢

我相信您在测试
时遇到了这个错误,请尝试
除了

如果使用python2,则在输入语句中输入字符时会发生错误

你看,在python2中,
input()
相当于python3中的
eval(input())

因此,您输入的
'e'
与引用变量
e
相同,您尚未定义该变量


使用
raw\u inut()
修复此问题。

我相信您正在尝试使用python2运行它。如果是的话,试着在python下运行它
要了解您目前使用的确切版本,请输入python解释器和1)
import sys
2)
print(sys.executable)

在我这方面效果很好。您使用的是python 2吗?不要使用python 2请确保使用python 3。如果需要使用Python2,请使用raw_input()而不是input()。