4
print("enter start() to start the program")

def start():
    print("This script converts GBP into any currency based on the exchange rate...")
    print(" ") #enters a line
    exchangeRate = int(input("Enter the exchange rate (Eg: 0.80)"))
    print("how much would you like to convert???")                       
    gpb = int(input())
    print(gpb*exchangeRate)

如果我将汇率设为 0.81 并输入 1 英镑,它总是返回 0。

4

2 回答 2

7

使用float()而不是int()与您的input()通话。IE,

    gpb = float(input())

否则如果用户输入0.81,int()0在转换过程中将其截断。

通过使用float(),您将保留作为输入提供的十进制值,并且您的计算应该产生您期望的结果。

于 2012-09-13T17:36:21.637 回答
0

您将类型指定为 int .....当您将 1 乘以 0.81 时,这些是整数 (0,1,2,3,4,5,6,7,8...),您得到 0.81...。整数的 .key 数字是点之前的数字,在这种情况下为零。所以就像前面的回答一样,只需更改变量的类型。

于 2014-07-18T23:09:20.610 回答