如何让Python实现用户输入与指定小数相乘?汇率程序报错求助
问题修复:挪威克朗兑换程序的运算错误
你的代码存在几个关键问题,导致无法正常完成乘法运算,以下是问题点和修复方案:
核心问题梳理
- 类型不匹配:
input()获取的用户输入是字符串类型,无法直接与数值进行乘法运算,必须转换为数值类型(float或int) - 小数格式错误:Python中小数点使用
.而非逗号,0,10、0,11的写法不符合语法规范,需改为0.10、0.11 - 语法错误:
print({NOK} * ...)的写法不正确,无需用大括号包裹变量,直接使用变量名或通过f-string格式化输出即可 - 输入匹配漏洞:未处理用户输入大小写不一致的情况(比如输入
eur或Eur),会导致匹配失败
修复后的完整代码
# 获取输入并转换为数值类型 nok_amount = float(input("Enter the amount you wish to convert: ")) print(f"Your chosen amount is {nok_amount} NOK") print("What do you wish to convert it to?") target_currency = input("EUR or USD").strip().upper() # 统一转为大写并去除输入前后空格 if target_currency == "EUR": converted = nok_amount * 0.10 print(f"Converted amount: {converted} EUR") elif target_currency == "USD": converted = nok_amount * 0.11 print(f"Converted amount: {converted} USD") else: print("Please answer 'EUR' or 'USD'")
修复说明
- 将输入内容通过
float()转为浮点型,确保能进行数值运算 - 用
.strip().upper()处理用户输入,避免空格和大小写差异导致的匹配失败 - 使用f-string格式化输出结果,让输出更清晰易读
- 修正小数的写法,符合Python语法规范
内容的提问来源于stack exchange,提问作者Noell
相关产品推荐
相关产品推荐

