2017-04-01 76 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如果問題得到解決,請使用左側的複選框標記正確的答案。 –