#书上项目(温度的转化)
"""问题的描述:中国人喜欢用摄氏温度,美国人用的是华氏温度,但我是个喜欢浪的人,怎么样对他们的温度进行转化呢?
首先,摄氏温度冰点为0,沸点为100,以刻度一为他们的单位,华氏温度是以32作为冰点,沸点为212度,也是用一个刻度
为单位那么,转化是他们都是一个刻度为单位的共同点进行转化,C或c通过公式C=(f-32)/1.8,其中f-32是华氏温度的真是差值
,/1.8将其刻度化,下面是具体的代码实现呢
"""
#temper=int(input("请输入带有温度符号的温度:"))无法将字母转化成int类型的数据
#try:自己写的永远是编译不过去的
temstr=input('小可爱!输入带有温度符号的温度值吧:')
if temstr[-1] in ['f','F']:
#print('转化的摄氏温度为:','C= ',C=eval((temper[0:-1]-32)/1.8))
C=(eval(temstr[0:-1])-32)/1.8
print('客官,这是您要的摄氏温度:{:.2f} C'.format(C))
elif temstr[-1] in ['C','c']:
F=(eval(temstr[0:-1]))*1.8+32
print('客官,您要的华氏温度为:{:.1f} F').format(F)
else:
print('您输入的格式有误!')
运行的结果:
分析:
temper[-1]:索引的方式
temstr[0:-1]:表示这个变量的第一个字符到最后一个字符(但不包括最后一个字符)的字串
eval()函数:
就是将字符串的类型强制转化成相应的整数类型或其他的浮点类型,方便数字之间的运算,但不同于int(input('请输入第一个整数:')),下面给出一些实例:
a='1234'
print(a,type(a))
b=eval(a)
print(b,type(b))
运行结果:
可以看到,他将字符串类型的数据转化成整数类型,但不能转化字母的字符串类型的数据,需要用[0:指定的位置]来进行限制