今天是正式开始自学Python的第一天,看到视频中有一个题目,温度转换。于是暂停页面,自己先去尝试写了写。后来又研究了一下老师的程序。
#华氏度-摄氏度的转换
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
验证如下,选择2功能输入:80
其实我的程序第一下必须输入1或者2,如果输入了一个字母比如a,就会在转换成guess整型的时候,引发下面判断的错误,虽然是错误的格式,却没有进入最后的:
print("输入不符合要求!")
而且最后的输出格式也没有做统一的处理
#温度转换-老师版本
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}表示保留两位小数输出
验证如下
Python2.6 开始,新增了一种格式化字符串的函数 str.format(),它增强了字符串格式化的功能。
基本语法是通过 {} 和 : 来代替以前的 % 。
format 函数可以接受不限个参数,位置可以不按顺序。
另外还有字典方法和列表索引方法,暂不列举