Python练习手册 UNIT1-Python基本语法元素
实例1-温度转换
温度的刻画有两个不同体系:摄氏度(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']: //判断最后一个字母如果是F/f
C = (eval(TempStr[0:-1]) - 32 )/1.8
print("{:.2f}C".format(C)) //运用占位符
elif TempStr[-1] in ['C','c']: //判断最后一个字母如果是C/c
F = 1.8*eval(TempStr[0:-1]) + 32
print("{:.2f}F".format(F))
else:
print("输入格式错误")
数字形式转换 I
获得用户输入的一个正整数输入,输出该数字对应的中文字符表示。
0到9对应的中文字符分别是:零一二三四五六七八九
t = "零一二三四五六七八九" //定义一个字符串
s = input()
for i in s: //对应文职一次转换
print(t[eval(i)],end="")
温度转换 II
温度的刻画有两个不同体系:摄氏度(Celsius)和华氏度(Fahrenheit)。请编写程序将用户输入华氏度转换为摄氏度,或将输入的摄氏度转换为华氏度。转换算法如下:(C表示摄氏度、F表示华氏度)
C = ( F - 32 ) / 1.8 ; F = C * 1.8 + 32
要求如下:(只是把字母换到了数字前面)
(1) 输入输出的摄氏度采用大写字母C开头,温度可以是整数或小数,如:C12.34指摄氏度12.34度;
(2) 输入输出的华氏度采用大写字母F开头,温度可以是整数或小数,如:F87.65指华氏度87.65度;
(3) 不考虑异常输入的问题,输出保留小数点后两位;
(4) 使用input()获得测试用例输入时,不要增加提示字符串。
#TempConvert.py
TempStr = input()
if TempStr[0] in ['F','f']:
C = (eval(TempStr[1:]) - 32 )/1.8 //截取字符串第二个(第一个是字母)后的数字进行运算
print("C{:.2f}".format(C))
elif TempStr[0] in ['C','c']:
F = 1.8*eval(TempStr[1:]) + 32 //截取字符串第二个(第一个是字母)后的数字进行运算
print("F{:.2f}".format(F))
else:
print("输入格式错误")
货币转换 I
人民币和美元是世界上通用的两种货币之一,写一个程序进行货币间币值转换,其中:
人民币和美元间汇率固定为:1美元 = 6.78人民币。
程序可以接受人民币或美元输入,转换为美元或人民币输出。人民币采用RMB表示,美元USD表示,符号和数值之间没有空格。
(1) 这是一个OJ题目,获得输入请使用input() ;
(2) 不提示输出格式错误,结果小数点后保留两位。
#MoneyChange.py //思路同温度转换
Me = input()
if Me[0:3] in ['RMB']:
U = eval(Me[3:])/6.78
print("USD{:.2f}".format(U))
elif Me[0:3] in ['USD']:
R = eval(Me[3:])*6.78
print("RMB{:.2f}".format(R))
Python String(字符串)
Python中的字符串用单引号 ’ 或双引号 " 括起来,同时使用反斜杠 \ 转义特殊字符。
字符串的截取的语法格式: 变量[头下标:尾下标] ;
索引值以 0 为开始值,-1 为从末尾的开始位置。