为什么我不能一次输入并输出呢?

时间:2017-04-01 10:08:10

标签: python

此代码通过Atom运行。

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

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

条件:保留三个功能,使用main函数运行三个函数

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()

2 个答案:

答案 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

答案 1 :(得分:0)

convert_celsius_fahrenheit方法中,您再次获取用于摄氏度值的用户输入,这不是必需的,因为您已使用input_celsius_value方法中的用户输入,并已将提供的值存储在{{1}中在执行celsius_value时,main方法中的变量。

同样在您的celsius_value = input_celsius_value()方法中,您调用了print_fahrenheit_value方法和input_celsius_value,这些方法再次为用户输入了摄氏值。

总而言之,你正在进行四次用户输入并将摄氏温度转换为两次华氏转换。

此外,您的convert_celsius_fahrenheit方法应将摄氏值作为参数。

将您的convert_celsius_fahrenheitconvert_celsius_fahrenheit方法更改为以下内容:

print_fahrenheit_value