《Python项目——温度单位的转换》

温度单位转换

  • 一,问题
  • 二,代码
    • (一)输入
    • (二)处理输出
    • (三)总体代码

一,问题

温度有摄氏度(Celsius)和华氏度(Fabrenheit)两个不同的单位。摄氏度0度为结冰点,沸点为100度;华氏度以32度为冰点,以212度为沸点。一般来说,中国采用摄氏度,美国采用华氏度。两者之间的转换公式为:
摄氏度=(华氏度-32)/1.8
华氏度=摄氏度*1.8+32

二,代码

(一)输入

#定义一个函数获取带符号的温度值。
def tempstr():
	while True:
		temp=input('请输入带有符号[C代表摄氏度,F代表华氏度]的温度数值:')
		if temp[-1] in ['c','C','f','F']:
			return temp
		else: #如果输入的温度值没有带有符号,会提示输入错误并被要求重新输入。
			print('输入错误,请输入带有符号的温度数值')
			print('-'*20)

(二)处理输出

#定义一个函数对温度值进行单位转换并输出。
def progress(temp):
	if temp[-1] in ['F','f']: #如果温度值单位为华氏度,则会被转换为摄氏度并被输出。
		output=(eval(temp[:-1])-32)/1.8
		print('温度转换为摄氏度为{:.2f}C'.format(output))
	else: ##如果温度值单位为摄氏度,则会被转换为摄氏度并被输出。
		output=eval(temp[:-1])*1.8+32 
		print('温度转换为华氏度为{:.2f}F'.format(output))

(三)总体代码

def tempstr():
	while True:
		temp=input('请输入带有符号[C代表摄氏度,F代表华氏度]的温度数值:')
		if temp[-1] in ['c','C','f','F']:
			return temp
		else: 
			print('输入错误,请输入带有符号的温度数值')
			print('-'*20)
def progress(temp):
	if temp[-1] in ['F','f']:
		output=(eval(temp[:-1])-32)/1.8
		print('温度转换为摄氏度为{:.2f}C'.format(output))
	else:
		output=eval(temp[:-1])*1.8+32
		print('温度转换为华氏度为{:.2f}F'.format(output))
temp=tempstr()
progress(temp)

你可能感兴趣的:(Python项目,python)