一、温度转换案例
描述
温度的刻画有两个不同体系:摄氏度(Celsius)和华氏度(Fahrenheit)。
请编写程序将用户输入华氏度转换为摄氏度,或将输入的摄氏度转换为华氏度。
转换算法如下:(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()获得测试用例输入时,不要增加提示字符串。
输入输出示例:
代码:
#TempConvert.py
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("输入格式错误")
二、Hello World的条件输出
描述:
获得用户输入的一个整数,参考该整数值,打印输出"Hello World",要求:
如果输入值是0,直接输出"Hello World";
如果输入值大于0,以两个字符一行方式输出"Hello World"(空格也是字符);
如果输入值小于0,以垂直方式输出"Hello World"。
输入输出示例:
代码:
n = eval(input())
if n == 0:
print("Hello World")
elif n > 0:
print("He\nll\no \nWo\nrl\nd")
else:
for c in "Hello World":
print(c)
三、四则运算
描述:
获得用户输入的一个字符串,格式如下:
M OP N
其中,M和N是任何数字,OP代表一种操作,表示为如下四种:+, -, *, /(加减乘除)
根据OP,输出M OP N的运算结果,统一保存小数点后2位。
注意:M和OP、OP和N之间可以存在多个空格,不考虑输入错误情况。
输入输出示例:
代码:
s = input()
print("{:.2f}".format(eval(s)))
四、数字形式转换 I
描述:
获得用户输入的一个正整数输入,输出该数字对应的中文字符表示。
0到9对应的中文字符分别是:零一二三四五六七八九
输出示例:
代码:
template = "零一二三四五六七八九"
# template = ['零','一','二','三','四','五','六','七','八','九']
s = input()
for c in s:
print(template[eval(c)], end="")
五、总结
eval() 函数用来执行一个字符串表达式,并返回表达式的值。
eval函数功能:将字符串str当成有效的表达式来求值并返回计算结果。eval函数可以实现list、tuple、dict与str之间的转化。
eval语法:
eval(expression[, globals[, locals]])
参数说明:
expression -- 表达式。
globals -- 变量作用域,全局命名空间,如果被提供,则必须是一个字典对象。
locals -- 变量作用域,局部命名空间,如果被提供,可以是任何映射对象。
举例说明:
# 1.字符串转换成列表
a = "[[1,2], [3,4], [5,6], [7,8], [9,0]]"
print(type(a))
b = eval(a)
print(type(b))
print(b)
# 运行结果
<class 'str'>
<class 'list'>
[[1, 2], [3, 4], [5, 6], [7, 8], [9, 0]]
# 2.字符串转换成元组
a = "([1,2], [3,4], [5,6], [7,8], (9,0))"
print(type(a))
b=eval(a)
print(type(b))
print(b)
# 运行结果
<class 'str'>
<class 'tuple'>
([1, 2], [3, 4], [5, 6], [7, 8], (9, 0))
# 3.字符串转换成字典
a = "{1: 'a', 2: 'b'}"
print(type(a))
b = eval(a)
print(type(b))
print(b)
# 运行结果
<class 'str'>
<class 'dict'>
{1: 'a', 2: 'b'}