Python小实例摄氏度华氏度转换

摄氏度<>华氏度转换

今天是正式开始自学Python的第一天,看到视频中有一个题目,温度转换。于是暂停页面,自己先去尝试写了写。后来又研究了一下老师的程序。

自己写的程序

Python小实例摄氏度华氏度转换_第1张图片

#华氏度-摄氏度的转换

print("欢迎来到华氏度-摄氏度转换程序")
print("按1:华氏度→摄氏度")
print("按2:摄氏度→华氏度")

temp=input("请输入你要选择的功能:")
guess=int(temp)

if guess==1 :
    temp=input("请输入要转换的华氏度:")
    F=int(temp)
    C=(F-32)/1.8
    print("华氏度:"+str(F)+"F = 摄氏度:"+str(C)+"℃")
elif guess==2 :
    temp=input("请输入要转换的摄氏度:")
    C=int(temp)
    F=C*1.8+32
    print("摄氏度:"+str(C)+"℃ = 华氏度:"+str(F)+"F")
else :
     print("输入不符合要求!")

思路很简单,就是通过用户的输入判断用户想要选择的功能,然后根据不同功能,处理数字,最后输出。
验证如下,选择1功能输入:80
Python小实例摄氏度华氏度转换_第2张图片
验证如下,选择2功能输入:80
Python小实例摄氏度华氏度转换_第3张图片
其实我的程序第一下必须输入1或者2,如果输入了一个字母比如a,就会在转换成guess整型的时候,引发下面判断的错误,虽然是错误的格式,却没有进入最后的:

 print("输入不符合要求!")

而且最后的输出格式也没有做统一的处理

老师的程序

Python小实例摄氏度华氏度转换_第4张图片

#温度转换-老师版本

TempStr = input("请输入带有符号的温度值:")

if TempStr[-1] in ['F','f']:
    C = (eval(TempStr[0:-1])-32)/1.8
    print("转换后的温度是{:.2f}C".format(C))
elif TempStr[-1] in ['C','c']:
    F = 1.8*eval(TempStr[0:-1])+32
    print("转换后的温度是{:.2f}F".format(F))
else:
    print("输入格式错误!")

这个程序其实需要用户自己对自己的输入格式做一个统一
如果输入的是摄氏度,则应该以C结尾
如果输入的是华氏度,则应该以F结尾

[-1]下标表示最后一个元素
format() 函数配合前面的 {:.2f}表示保留两位小数输出
验证如下
Python小实例摄氏度华氏度转换_第5张图片

附:format()函数学习

Python2.6 开始,新增了一种格式化字符串的函数 str.format(),它增强了字符串格式化的功能。
基本语法是通过 {} 和 : 来代替以前的 % 。
format 函数可以接受不限个参数,位置可以不按顺序。

Python小实例摄氏度华氏度转换_第6张图片
Python小实例摄氏度华氏度转换_第7张图片

另外还有字典方法和列表索引方法,暂不列举

你可能感兴趣的:(Python,Python入门)