如何制作这个循环

时间:2015-07-29 05:10:01

标签: python loops

我根本无法弄清楚如何让这个程序问我是否要重新开始。我知道它很简单,但我无法为我尝试的任何东西获得正确的语法。我希望它继续在F或C循环我试着解决如何打破。感谢您的耐心等待。

temp=input('input F or C:  ')
if temp=='F':
    print('convert Fahenheit to C')
    F=int(input("What are degress F:  "))
    c=(F-32)*(5/9)
    print(c)
elif temp=='C':
    print('convert C to F')
    C=int(input("What degrees C would you like to convert to F?  "))
    F=(C*9/5)+32
    print(F)

2 个答案:

答案 0 :(得分:1)

while True:
    temp=input("(F)->C, (C)->F, or (Q)uit: ")
    if temp.lower() == "f":
        f = float(input("Enter temperature in Fahrenheit: "))
        c = (f-32)*(5.0/9.0)
        print(c)
    elif temp.lower() == "c":
        c = float(input("Enter temperature in centigrade: "))
        f = (c*9.0/5.0) + 32.0
        print(f)
    elif temp.lower() == "q":
        break

你在5/99/5的危险地形上:在python 2.x中,这是一个整数除法,所以5/9 == 0,而在python 3.x中这将是转换为浮动。

(您正在使用input,我认为这意味着您正在运行python 3.x,但您仍然应该小心确保知道某些内容是整数还是浮点数。)

答案 1 :(得分:0)

这是一种可能的解决方案(使用python 2.x):

temp = None
while temp != 'Q':
    temp=raw_input('input F or C (Q to quit):  ')
    if temp=='F':
        print('convert Fahenheit to C')
        F=int(raw_input("What are degress F:  "))
        c=(F-32)*(5.0/9.0)
        print(c)
    elif temp=='C':
        print('convert C to F')
        C=int(raw_input("What degrees C would you like to convert to F?  "))
        F=(C*9.0/5.0)+32
        print(F)