Temperature Conversion
TempStr = input("请输入带有符号的温度值:")
if TempStr[-1] in ['F', 'f']:
C = (eval(TempStr[0:-1]) - 32) / 1.8
# [0:-1]等同于[:-1]表达去除最后一位后的全部切片
# eval评估函数用于去掉参数最外侧引号,并执行余下语句
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("输入格式错误")
-
eval评估函数用法如下
去掉参数最外侧引号,并执行余下语句
>>>eval("1+2") 3 >>>eval('"1+2"') '1+2' >>>eval('print("Hello")') Hello
此例子中的eval(TempStr[0:-1])中的TempStr[0:-1]如截取结果为‘24.1’(即字符串形式,eval可将字符串的引号去除转换为浮点值形式,便于计算使用。
- {:.2f}用于确定输出格式,表示输出小数点后2位
- .format(C)格式化输出C变量,{}表示槽将后续变量填充到槽中,此处将格式化后的C输出至槽中。
更多格式化输出可参考
[runoob]https://www.runoob.com/python...
Finding the largest and Smallest number
largest = None
smallest = None
while True:
num = input("Enter a number: ")
if num == "done":
break
# 此处break用于停止该loop,直接跳至最后的print部分。
try:
inum = int(num)
except:
print('Invalid input')
continue
#运用try except来处理输入值非整数型错误,try下语句为判断条件,不错则运行如下if statement。
#如出错则执行except下打印及continue,continue则将继续将返回开头的while部分重新开始loop。
if largest is None and smallest is None:
largest = smallest = inum
else:
if inum > largest:
largest = inum
elif inum < smallest:
smallest = inum
print('All done')
print('maximum is', largest)
print('minimum is', smallest)
代码来源:Mooc网络课程《Python语言程序设计》