python123《Python语⾔程序设计》程序题答案(第1周)Python123_MOOC⼤学《Python语⾔程序设计》程序题答案
Python基本语法元素 (第1周)
⼀、测验题
(⼀)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)
我的答案:
s=input()
a='Hello World'
if eval(s)==0:
print(a)
elif eval(s)>0:
for i in range(0,len(a),2):
print(a[i:i +2])
else:
for i in range(0,len(a),1):
print(a[i:i +1])
(⼆)数值运算
描述
获得⽤户输⼊的⼀个字符串,格式如下:
M OP N
其中,M和N是任何数字,OP代表⼀种操作,表⽰为如下四种:+, -, *, /(加减乘除)
根据OP,输出M OP N的运算结果,统⼀保存⼩数点后2位。
注意:M和OP、OP和N之间可以存在多个空格,不考虑输⼊错误情况。
参考答案:
s =input()
print("{:.2f}".format(eval(s)))
我不会@~@
⼆、练习题
(⼀)实例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']:
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("输⼊格式错误")
我的答案:
#TempStr.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=eval(TempStr[0:-1])*1.8+32
print("{:.2f}F".format(F))
else:
print("输⼊格式错误")
(⼆)Hello World I
描述
这是学习每种程序设计语⾔的第⼀个实例。
输出Hello World,注意⼤⼩写。
print('Hello World')
我的答案:
print("Hello World")
(三)数字形式转换 I
描述
获得⽤户输⼊的⼀个正整数输⼊,输出该数字对应的中⽂字符表⽰。
0到9对应的中⽂字符分别是:零⼀⼆三四五六七⼋九
参考答案:
template ="零⼀⼆三四五六七⼋九"
s =input()
for c in s:
print(template[eval(c)], end="")
我的答案:
Num="零⼀⼆三四五六七⼋九"
python货币转换s=input()
for c in s:
print(Num[eval(c)],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']:
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,请注意以下三点:
(1)将输⼊字符串转换为数字时使⽤eval()函数,不要⽤int()函数,因为输⼊的数字可能不是整数;
(2)采⽤{:.2f}将输出数字变成两位⼩数点表⽰时,即使数学上该输出值是整数,也会按照⼩数⽅式输出,例如,转换后温度为10度,输出为10.00;
(3) TempStr[1:]表⽰字符串除⾸字符外的所有字符。
我的答案:
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=(eval(TempStr[1:])*1.8)+32
print("F{:.2f}".format(F))
else:
print()
(五)货币转换 I
描述
⼈民币和美元是世界上通⽤的两种货币之⼀,写⼀个程序进⾏货币间币值转换,其中:
⼈民币和美元间汇率固定为:1美元 = 6.78⼈民币。
程序可以接受⼈民币或美元输⼊,转换为美元或⼈民币输出。⼈民币采⽤RMB表⽰,美元USD表⽰,符号和数值之间没有空格。注意:
(1) 这是⼀个OJ题⽬,获得输⼊请使⽤input() ;
(2) 不提⽰输出格式错误,结果⼩数点后保留两位。
参考答案:
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))
----------------------------------------------------------------------------------------------
这个代码是实例1的⼀个扩展,注意以下3点:
(1)eval()函数将字符串转换成数字,不能省略;
(2)==表⽰"等于",in表⽰成员包含,对于这个题⽬,由于只允许输⼊采⽤全⼤写⽅式,两种⽅法均可;
(3):.2f输出⼩数点后两位。
我的答案:
CurStr=input()
if CurStr[0]in['R']:
USD=eval(CurStr[3:])/6.78 print("USD{:.2f}".format(USD)) elif CurStr[0]in['U']:
RMB=eval(CurStr[3:])*6.78 print("RMB{:.2f}".format(RMB)) else:
print()
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论