检查数字并转换华氏度
check if number and convert Fahrenheit
有人能告诉我将两个函数连接在一起的主要规则是什么吗?我有两个函数:一个检查输入是否为数字,另一个将摄氏度转换为华氏度。我如何组合它们?我处于目前的水平,我只想了解如何将它们结合起来,但也欢迎任何有关如何使其更像 pythonic 的建议。
谢谢指教!
第一个:
def is_number():
user_input = input ('>>> Please enter a temperature in Celsius: ')
if (user_input.isdigit()):
return user_input
else:
print ('It is not a number!')
return is_number()
is_number()
第二个:
t = input('>>> Please enter a temperature in Celsius: ')
def Celsius_to_Fahrenheit(t):
fahrenheit = (t * 1.8) + 32
print('>>> ' + str(t) + 'C' + ' converted to Fahrenheit is: ' + str(fahrenheit) + 'F')
Celsius_to_Fahrenheit(float(t))
(可能的重复不是重复,因为即使那里的问题不是很清楚,也没有回答我的问题)
这两个函数可以运行相互独立,最简单的方法就是将代码简单地合并到一个函数中:
def Celsius_to_Fahrenheit(t):
while not t.isdigit():
print ('It is not a number!')
t = input ('>>> Please enter a temperature in Celsius: ')
t = float(t)
fahrenheit = (t * 1.8) + 32
print('>>> ' + str(t) + 'C' + ' converted to Fahrenheit is: ' + str(fahrenheit) + 'F')
t = input ('>>> Please enter a temperature in Celsius: ')
Celsius_to_Fahrenheit(t)
您可以从一个函数调用另一个函数:
def convert_celsius_to_fahrenheit(celsius_temperature):
if celsius_temperature.isdigit():
fahrenheit_temperature = celsius_to_fahrenheit(celsius_temperature)
return fahrenheit_temperature
def celsius_to_fahrenheit(celsius_temperature):
fahrenheit_temperature = (t * 1.8) + 32
return fahrenheit_temperature
另一种可能的方法是从 Celsius_to_Fahrenheit()
:
中调用 is_number()
def Celsius_to_Fahrenheit():
t = float(is_number())
fahrenheit = (t * 1.8) + 32
print('>>> ' + str(t) + 'C' + ' converted to Fahrenheit is: ' + str(fahrenheit) + 'F')
Celsius_to_Fahrenheit()
is_number()
功能可以保持原样。现在不需要单独调用这个函数了
有人能告诉我将两个函数连接在一起的主要规则是什么吗?我有两个函数:一个检查输入是否为数字,另一个将摄氏度转换为华氏度。我如何组合它们?我处于目前的水平,我只想了解如何将它们结合起来,但也欢迎任何有关如何使其更像 pythonic 的建议。 谢谢指教!
第一个:
def is_number():
user_input = input ('>>> Please enter a temperature in Celsius: ')
if (user_input.isdigit()):
return user_input
else:
print ('It is not a number!')
return is_number()
is_number()
第二个:
t = input('>>> Please enter a temperature in Celsius: ')
def Celsius_to_Fahrenheit(t):
fahrenheit = (t * 1.8) + 32
print('>>> ' + str(t) + 'C' + ' converted to Fahrenheit is: ' + str(fahrenheit) + 'F')
Celsius_to_Fahrenheit(float(t))
(可能的重复不是重复,因为即使那里的问题不是很清楚,也没有回答我的问题)
这两个函数可以运行相互独立,最简单的方法就是将代码简单地合并到一个函数中:
def Celsius_to_Fahrenheit(t):
while not t.isdigit():
print ('It is not a number!')
t = input ('>>> Please enter a temperature in Celsius: ')
t = float(t)
fahrenheit = (t * 1.8) + 32
print('>>> ' + str(t) + 'C' + ' converted to Fahrenheit is: ' + str(fahrenheit) + 'F')
t = input ('>>> Please enter a temperature in Celsius: ')
Celsius_to_Fahrenheit(t)
您可以从一个函数调用另一个函数:
def convert_celsius_to_fahrenheit(celsius_temperature):
if celsius_temperature.isdigit():
fahrenheit_temperature = celsius_to_fahrenheit(celsius_temperature)
return fahrenheit_temperature
def celsius_to_fahrenheit(celsius_temperature):
fahrenheit_temperature = (t * 1.8) + 32
return fahrenheit_temperature
另一种可能的方法是从 Celsius_to_Fahrenheit()
:
is_number()
def Celsius_to_Fahrenheit():
t = float(is_number())
fahrenheit = (t * 1.8) + 32
print('>>> ' + str(t) + 'C' + ' converted to Fahrenheit is: ' + str(fahrenheit) + 'F')
Celsius_to_Fahrenheit()
is_number()
功能可以保持原样。现在不需要单独调用这个函数了