2017-04-01 49 views
-1

此代码是通过Atom运行的。为什么我不能一次输入并输出?

为什么我不能输入一次然后输出它?

输入所需温度后,应输出转换后的温度。

条件:保持三大功能,使用的主要功能运行三个功能

def main(): 
    print("This program converts Celsius into fahrenheit.") 
    print("============================") 
    # ===Modify codes below================= 
    celsius_value = input_celsius_value() 
    fahrenheit_value = convert_celsius_fahrenheit(celsius_value) 
    print_fahrenheit_value(celsius_value, fahrenheit_value) 
    print("===========================") 
    print("Program has ended.") 

def input_celsius_value(): 
    celsius_value = float(input("Enter desired temperature to convert.: ")) 
    return celsius_value 

def convert_celsius_fahrenheit(fahrenheit_value): 
    celsius_value = float(input()) 
    fahrenheit_value = ((9/5) * float(celsius_value)) + 32 
    return fahrenheit_value 

def print_fahrenheit_value(celsius_value, fahrenheit_value): 
    celsius_value = input_celsius_value() 
    fahrenheit_value = convert_celsius_fahrenheit(fahrenheit_value) 
    print("Centigrade temperature :", celsius_value) 
    print("fahrenheit temperature :", fahrenheit_value) 
    return print_fahrenheit_value 

if __name__ == '__main__': 
    main() 

回答

0

在你convert_celsius_fahrenheit方法你正在服用的用户输入再次摄氏温度值,你已经迈出了用户输入input_celsius_value方法和已经存储了不要求在celsius_value中提供的值在main方法中变量,同时做celsius_value = input_celsius_value()

类似地,在您的print_fahrenheit_value方法中,您将调用input_celsius_value方法和convert_celsius_fahrenheit,它们将再次接受用户输入的摄氏温度值。

因此,在所有情况下,您都会将用户输入四次,并将摄氏温度转换为华氏转换两次。

而且你的convert_celsius_fahrenheit方法应该把摄氏度值作为参数。

convert_celsius_fahrenheitprint_fahrenheit_value方法更改为这样的事情:

def convert_celsius_fahrenheit(celsius_value): 
    return 9/5 * celsius_value + 32 

def print_fahrenheit_value(celsius_value, fahrenheit_value): 
    print("Centigrade temperature :", celsius_value) 
    print("fahrenheit temperature :", fahrenheit_value) 
+0

谢谢你给我一个解决方案。我现在感觉好多了。 –

0

在你print_fahrenheit_values功能,你叫其他两个功能的第二次。一旦变量为returned,则不需要再次调用该函数。

这是代码应该是什么:

def print_fahrenheit_value(celsius_value, fahrenheit_value): 
    # you have the variables already ^^^^^^^^^^^ 

    print("Centigrade temperature :", celsius_value) 

    print("fahrenheit temperature :", fahrenheit_value) 

    return print_fahrenheit_value 
+0

它一直resolved.Thank你! –

+0

没问题,很高兴我可以帮助:) –

+1

@HoldenNowell如果问题得到解决,请使用左侧的复选框标记正确的答案。 –