实例1: 温度转换
温度的刻画有两个不同体系:摄氏度(Celsius)和华氏度(Fabrenheit)。
请编写程序将用户输入华氏度转换为摄氏度,或将输入的摄氏度转换为华氏度。
转换算法如下:(C表示摄氏度、F表示华氏度)
C = ( F - 32 ) / 1.8
F = C * 1.8 + 32
要求如下:
(1) 输入输出的摄氏度可采用大小写字母C结尾,温度可以是整数或小数,如:12.34C指摄氏度12.34度;
(2) 输入输出的华氏度可采用大小写字母F结尾,温度可以是整数或小数,如:87.65F指摄氏度87.65度;
(3) 输出保留小数点后两位,输入格式错误时,输出提示:输入格式错误;
(4) 使用input()获得测试用例输入时,不要增加提示字符串。
输入
示例1:12.34C
示例2:87.65F
输出
示例1:54.21F
示例2:30.92C
#大气温度转换
TempStr = input("请输入带有符号的温度值:")
if TempStr[-1] in ['F','f']:#获取变量中最后一位,in判断一个元素是否在列表中
C =(eval(TempStr[0:-1])-32)/1.8#取出从0开始但不到最后一个字符,去掉最后一个字符。
print("转换后的温度是{:.2f}C".format(C))
elif TempStr[-1] in ['C','c']:
F = 1.8*eval(TempStr[0:-1])+32
print("转换后的温度是{:.2f}F".format(F))#{:.2f}将变量取小数点后两位
else:
print("输入格式错误")
#C=(F-32)/1.8 摄氏度转换为华氏度
#F=C*1.8+32
- 代码高亮:编程的色彩辅助体系
- 缩进表达程序的格式框架
严格明确:缩进为语法的一部分,缩进不正确程序运行错误
所属关系:表达代码间包含和层次关系的唯一手段
长度一致:程序内一致即可。(tab键) - 注释:
单行:#开头
多行:‘‘‘注释’’’ - [ ]变量:用来保存和表示数据占位符号
- 命名规则:大小写敏感,首字符不能使用数字,名不能与保留字相同
- python有33个保留字
[ ] 数据类型 - 整数类型 10011101
- 字符串类型 “10,011,101”
字符串:用单引号或双引号表示的有序序列,编号从0开始。
索引:使用[ ]获取字符串中的一个或多个字符,
返回字符串中单个字符 < >[m]
切片:返回字符串中一段字符子串< >[m:n] - 列表类型 [10.011.101]
- 分支语句:由判断条件决定程序运行方向的语句
- 赋值语句
- 函数:根据输入参数产生不同输出的功能
- 评估函数:eval()
去掉参数最外侧引号并执行余下语句的函数
eval (“1+2”)
3
习题练习:货币转换
人民币和美元是世界上通用的两种货币之一,写一个程序进行货币间币值转换,其中:
人民币和美元间汇率固定为:1美元 = 6.78人民币。
程序可以接受人民币或美元输入,转换为美元或人民币输出。人民币采用RMB表示,美元USD表示,符号和数值之间没有空格。
注意:
(1) 这是一个OJ题目,获得输入请使用input() ;
(2) 不提示输出格式错误,结果小数点后保留两位。
输入
示例1:RMB123
示例2:USD20
输出
示例1:USD18.14
示例2:RMB135.60
#美元转换
money =input("")
if money[0] in ['R','r']:
USD =(eval(money[3:])/6.78)
print("USD{:.2f}".format(USD))
elif money[0] in ['U','u']:
RMB =(eval(money[3:])*6.78)
print("RMB{:.2F}".format(RMB))