python小白求助,程序这样报错该怎么解决

Gaunny 2019-02-02 09:48:35

原程序是这样的:
"""项目名称:汇率转换
版本:3.0
功能:将人民币转换为美元
新增:添加循环语句,程序可以一直运行,直到用户选择退出
"""
# 汇率
USD_VS_RMB = 6.73
#带单位的货币输入
currency_str_value = input('请输入带单位的货币金额(退出程序请输入Q):')

i=0

while currency_str_value != 'Q':
i = i + 1
#print('循环次数:',i)
# 获取货币单位
unit = currency_str_value[-3:]

if unit == 'CNY':
# 输入的是人民币
rmb_str_value = currency_str_value[-3:]
# 将字符串转为数字

rmb_value = eval(rmb_str_value)
# 汇率转换
usd_value = rmb_value / USD_VS_RMB
# 输出美元
print('美元(USD)的金额是:', usd_value)
elif unit == 'USD':
'输入的是美元'
usd_str_value = currency_str_value[-3:]
'将字符串转换为数字'
usd_value = eval(usd_str_value)
'汇率转换'
rmb_value = usd_value * USD_VS_RMB
'输出人民币'
print('人民币(CNY)的金额是:', rmb_value)
else:
# 其他情况
print('目前版本尚不支持该种货币!')

print('**********************')
# 带单位的货币输入
currency_str_value = input('请输入带单位的货币金额(退出程序请输入Q):')

print('程序已退出')


运行出现Traceback (most recent call last):
File "C:/Users/asus/PycharmProjects/untitled1/currency_converter3.0.py", line 30, in <module>
rmb_value = eval(rmb_str_value, globals)
File "<string>", line 1, in <module>
NameError: name 'CNY' is not defined

搜索相关发现很多都再说python2.x和python3.x版本差异造成的,但我的python是3.x的,对于这个程序似乎还是没办法解决,求助大佬该怎么解决,谢谢
...全文
159 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
Gaunny 2019-02-03
  • 打赏
  • 举报
回复
引用 1 楼 混沌鳄鱼 的回复:
第21行和第31行,最后的都改成 [:-3]
明白了!非常感谢!
混沌鳄鱼 2019-02-03
  • 打赏
  • 举报
回复
第21行和第31行,最后的都改成 [:-3]

37,719

社区成员

发帖
与我相关
我的任务
社区描述
JavaScript,VBScript,AngleScript,ActionScript,Shell,Perl,Ruby,Lua,Tcl,Scala,MaxScript 等脚本语言交流。
社区管理员
  • 脚本语言(Perl/Python)社区
  • IT.BOB
加入社区
  • 近7日
  • 近30日
  • 至今

试试用AI创作助手写篇文章吧