目录
一、温度转换1
二、Hello World
三、数字形式转换
四、温度转换2
五、货币转换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()获得测试用例输入时,不要增加提示字符串。
Temstr = input()
if Temstr[-1] in ["c","C"]:
F = eval(Temstr[0:-1]) * 1.8 + 32
print("{:.2f}F".format(F))
elif Temstr[-1] in ["f","F"]:
C = (eval(Temstr[0:-1]) - 32) / 1.8
print("{:.2f}C".format(C))
else:
print("输入格式错误")
1.input(<指示语句>),例如input("请输入温度:")【注意:单引号,双引号都可以,只要是英文的就行】指示语句也可以不加。
2.if elif else,按照输入所满足的条件,可以进入不同的分支,别忘记加‘:’
3.Temstr[-1]代表整个字符串的最后一位,一般使用[]获取字符串中一个或多个字符。
4.["c","C"]是一个有序序列,表示两个元素“C”,"c"。
if Temstr[-1] in ["c","C"]: #如果Temstr的最后一个字符是“c”,或者“C”,那么就进入这个分支。
5.首先F = C * 1.8 + 32
那我们就要得到C,C就是Temstr本身的格式是数字+单位,所以我们要去掉这个单位,单纯得到一个数字。
Temstr[0:-1]代表从第一个字符到倒数第二个字符。举一反三:Temstr[3:7]代表从第4个字符到第6个字符。
eval()是一个评估函数,它可以将字符串变成python代码,将Temstr[0:-1]放进去,就去掉了单位,得到了一个数字。
6.print()表示输出。如果没有特殊要求,输出直接为print(F)。
但是题目要求为两位小数,所以我们就要用到格式化format函数。
{:.2f}代表精确到两位小数,举一反三{:.3f}就是三位小数。
7.注意python的缩进,他也是语法中的一部分,所有的缩进格数要一致。
老经典人了,你肯定会。
获得用户输入的一个正整数输入,输出该数字对应的中文字符表示。
0到9对应的中文字符分别是:零一二三四五六七八九
Number = input() #输入想要输入的正整数
chinaStr = "零一二三四五六七八九" #定义一个字符串
for c in Number: #遍历循环
print(chinaStr[eval(c)],end = "") #输出结果
1.for c in Number:for是循环的意思,c in Number
使c遍历一遍Number。例如:
number = "012"
for c in number:
print(eval(c))
输出结果为:
0
1
2
2.eval()函数
eval() 函数用来执行一个字符串表达式,并返回表达式的值。也就是说eval()可以把字符串变成python的一段代码
例如:
print(eval("1+1"))
它的输出结果为2
这里的eval同样也把c变成了python代码
3.chinaStr[]
chinaStr是一个定义好的字符串,chinaStr[Number]代表他的第几个元素
比如:
chinaStr[0]就代表字符串的第一个元素。
chinaStr[-1]代表字符串的最后一个元素。
4.end = ""代表得到一次输入结果后,可以继续输入。
温度的刻画有两个不同体系:摄氏度(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()获得测试用例输入时,不要增加提示字符串。
Tempstr = input()
if Tempstr[:1] == "F":
C = (eval(Tempstr[1:]) - 32)/1.8
print("C{:.2f}".format(C))
elif Tempstr[:1] == "C":
F = eval(Tempstr[1:]) * 1.8 + 32
print("F{:.2f}".format(F))
和温度转换1相比,只有一个新的知识点,就是Tempstr[1:]和Tempstr[:1]
Tempstr[1:]代表从字符串的第一个元素开始的所有元素(Tip:元素是从第0个开始算的),
即Tempstr[N:]代表从字符串的第N个元素开始的所有元素;
Tempstr[:1]代表从字符串的第0个元素到第1个元素的所有元素,
即Tempstr[:N]代表从字符串的第0个元素到第N个元素的所有元素。
人民币和美元是世界上通用的两种货币之一,写一个程序进行货币间币值转换,其中:
人民币和美元间汇率固定为:1美元 = 6.78人民币。
程序可以接受人民币或美元输入,转换为美元或人民币输出。人民币采用RMB表示,美元USD表示,符号和数值之间没有空格。
注意:
(1) 这是一个OJ题目,获得输入请使用input() ;
(2) 不提示输出格式错误,结果小数点后保留两位。
解答:
Moneystr = input()
if Moneystr[:3] == "RMB":
USD = eval(Moneystr[3:]) / 6.78
print("USD{:.2f}".format(USD))
elif Moneystr[:3] == "USD":
RMB = 6.78 * eval(Moneystr[3:])
print("RMB{:.2f}".format(RMB))
这道题目和温度转换2一致。
值得一提的是,Moneystr[:3] == "RMB"可以表示为Moneystr[:3] in ["RMB"]
完结撒花~欢迎提问,欢迎指正~~~