首页 > 解决方案 > 为什么我从在线课程中复制的这段代码不起作用?

问题描述

为什么这段代码不起作用?我正在为python初学者做一个在线课程,我从教授那里复制了代码。此外,如果我在他们自己的应用程序中运行此代码以进行考试编码,则该代码可以正常工作。只给我在 Atom 中的问题。

代码是:

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

谢谢

标签: pythonpython-3.x

解决方案


我相信你在测试try except块时遇到了这个错误。

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

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

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

用于raw_inut()解决问题。


推荐阅读