You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

SGD转USD转换器if语句问题求助:input输入无法被识别

解决你的SGD转USD转换器问题

嘿,我来帮你排查下代码里的问题~作为编程新手,碰到这种类型相关的问题很正常,咱们一步步来解决:

问题1:input()返回的是字符串,和整数比较不匹配

你现在用choice = input()获取用户输入,这个函数返回的是字符串类型,而你在if判断里写的是choice == 1(整数1),一个字符串和整数永远不可能相等,所以程序永远会走到else分支,显示输入错误。

问题2:金额输入没有转成数值类型

就算解决了上面的问题,后面输入的金额amount也是字符串,传给converter函数时,字符串和数字相乘会直接报错,因为Python不允许这种操作。

修正后的代码

def converter(scal):
    return scal * 1.33504

print('Welcome to Smurk Converter ')
print('Press 1 to convert SGD to USD :')
# 把输入转成整数类型,才能和1比较
choice = int(input())

if choice == 1:
    print('Amount of money you want to convert: $')
    # 把金额转成浮点型,支持小数金额
    amount = float(input())
    his_amount = amount
    print(f"You entered: ${amount}")
    print('If you were to convert that amount SGD to USD...')
    print('It will be: $')
    print(converter(his_amount))
else:
    print('Wrong Input, just enter either 1 or 2')

关键改动说明

  • 把choice = input()改成choice = int(input()):将用户输入的字符串转成整数,这样就能和整数1正确比较了。
  • 把amount = input()改成amount = float(input()):将金额输入转成浮点类型,这样才能和汇率做乘法运算。
  • 加了一行print(f"You entered: ${amount}")让输出更清晰,你也可以根据需要调整。

如果之后要加USD转SGD的功能(对应选项2),只需要在else里再加一个elif分支,写对应的转换逻辑就好啦~

内容的提问来源于stack exchange,提问作者Minz Coder

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.27 07:18:37