python - 为什么我从在线课程中复制的这段代码不起作用?
问题描述
为什么这段代码不起作用?我正在为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
谢谢
解决方案
我相信你在测试try
except
块时遇到了这个错误。
如果您使用的是 python2,则在输入语句中输入字符时会发生错误。
你看,在 python2 中,input()
相当于eval(input())
在 python3 中。
因此,您输入与引用未定义'e'
的变量相同。e
用于raw_inut()
解决问题。
推荐阅读
- python - 如何使用 Selenium 和 Python 从元素中检索值 355.60
- c# - 子网站的 IdentityServer 身份验证
- python - tkinter 进度条不匹配“for i”迭代
- android - HMS中TimeAwareness中getTimeCategories()返回整数数组的顺序是什么
- google-sheets - Google 表格 - 比较 2 (4) 列
- r - 对大型栅格进行算术运算的最快方法
- typescript - 为对象动态属性赋值时理解 TS 错误(哪个键来自联合类型)
- python - 替换列表中的项目
- django - Django + DjangoRestFramework:如何使用 DjangoRestFramework API 构建 Django WebApp?
- angular - 剑道 ui 组合框在焦点上打开