如何让用户输入输入一个十进制数字以及一个整数?

时间:2016-02-20 08:43:59

标签: python

如何让用户输入他们想要的任何类型的号码?这是我试过的:

a=0
def main():
    x = int(input("Input a number in Celsius to convert it to Fahrenheit"))
    f = (x*1.8)+(32)
    print(f, "degrees Fahrenheit")

a=a+1
while a > 0:
    main()

main()

2 个答案:

答案 0 :(得分:4)

请使用:

x = float(input('Input a number in celcius to convert it to fahrenheit'))

然后使用x执行所需的计算。

阅读python here中的基本类型。

无论如何,你在问题中给出的缩进是完全错误的。你的代码甚至不应该运行。你运行main()的逻辑也很荒谬。可能是这样的:

a=0

def main():
    x = float(input("Input a number in celcius to convert it to fahrenheit"))
    f = (x*1.8)+(32)
    print(f, "degrees fahrenheit")

while a < 10: # for taking 10 inputs and converting
    main()
    a += 1

答案 1 :(得分:4)

根据您想要的type号码,您只需尝试捕捉

UPDATE 因为raw_input将数据存储为str,因为isinstance(x, str)会为您提供True

x = raw_input("Input a number in celcius to convert it to fahrenheit")

try:
    val = int(x) # you can also covert to float before doing your calculation
    #carry out your calculations
except ValueError:
    print("That's not an int!")