练习1 Python基本语法元素 (第1周)

目录

实例1: 温度转换

Hello World I

数字形式转换 I

温度转换 II

货币转换 I


实例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()获得测试用例输入时,不要增加提示字符串。

输入示例1

12.34C

输出示例1‬

54.21F

输入示例2‬

87.65F

输出示例2‬

54.21C

注:原网站上这里的输出示例2最后的符号有误

【参考代码】

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 I

这是学习每种程序设计语言的第一个实例。‬

输出Hello World,注意大小写。

输出示例‬

Hello World

【参考代码】

print("Hello World")

数字形式转换 I

获得用户输入的一个正整数输入,输出该数字对应的中文字符表示。‬

0到9对应的中文字符分别是:零一二三四五六七八九

输入示例1

123

输出示例1‬

一二三

输入示例2‬

9876543210

输出示例2‬

九八七六五四三二一零

【参考代码】

template = "零一二三四五六七八九"
s = input()
for c in s:
print(template[eval(c)], end="") 
#print()中增加end=""参数表示输出后不增加换行,多个print()可以连续输出。

温度转换 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()获得测试用例输入时,不要增加提示字符串。

输入示例1‬

C12.34

输出示例1

F54.21

输入示例2

F87.65

输出示例2‬‪‬

C30.92

【参考代码】

#TempConvert.py
TempStr = input()
if TempStr[0] in ['F']:
    C = (eval(TempStr[1:]) - 32)/1.8
    print("C{:.2f}".format(C))
elif TempStr[0] in ['C']:
    F = 1.8*eval(TempStr[1:]) + 32
    print("F{:.2f}".format(F))
else:
    print() #不输出任何错误提示

请注意以下三点:

(1) 将输入字符串转换为数字时使用eval()函数,不要用int()函数,因为输入的数字可能不是整数;

(2) 采用{:.2f}将输出数字变成两位小数点表示时,即使数学上该输出值是整数,也会按照小数方式输出,例如,转换后温度为10度,输出为10.00;

(3) TempStr[1:]表示字符串除首字符外的所有字符。


货币转换 I

人民币和美元是世界上通用的两种货币之一,写一个程序进行货币间币值转换,其中:‬

人民币和美元间汇率固定为:1美元 = 6.78人民币。‬

程序可以接受人民币或美元输入,转换为美元或人民币输出。人民币采用RMB表示,美元USD表示,符号和数值之间没有空格。‬

注意:‬

(1) 这是一个OJ题目,获得输入请使用input() ;‬

(2) 不提示输出格式错误,结果小数点后保留两位。

输入示例1‬

RMB123

输出示例1‬

USD18.14

输入示例2‬

USD20

输出示例2‬

RMB135.60

【参考代码】

CurStr = input()
if CurStr[:3] == "RMB":
    print("USD{:.2f}".format(eval(CurStr[3:])/6.78))
elif CurStr[:3] in ['USD']:
    print("RMB{:.2f}".format(eval(CurStr[3:])*6.78))

注意以下3点:

(1) eval()函数将字符串转换成数字,不能省略;

(2) == 表示 "等于",in 表示成员包含,对于这个题目,由于只允许输入采用全大写方式,两种方法均可

(3) :.2f输出小数点后两位。

你可能感兴趣的:(北理Python学习笔记,python,学习)