def CalculateExchange(currency2,rate):
currencyamount1 = int(input("Enter the amount: "))
currencyamount2 = (currencyamount1 * rate)
print(currencyamount2,currency2)
当将程序中先前获得的汇率乘以用户输入的数字时,它不输出实际的数字,只输出以汇率形式输入的金额,例如当汇率为5,输入的金额为6时,它只输出6.6.6.6,我真的可以使用帮助,我知道这个问题看起来很微不足道,也很容易纠正,但我很难解决它。
在Python 2下,函数input对输入字符串执行eval:
还有一个浮子:
由于人们普遍认为从应用程序中的用户那里获取任意代码是不明智的,因此在Python 3中改变了这种行为。
在Python 3下,input总是返回一个字符串:
这就解释了你的结果:
如果您想在Python 3中安全地拥有类似的功能,可以在调用ast.literal_eval时包装
input
:或者,只需使用
int(x)
或float(x)
将用户输入转换为所需的数据类型避免这种错误的最简单方法是在乘法之前将int转换回float
相关问题 更多 >
编程相关推荐