Flag
8月29日前学习完MOOC_Python课程,以下各测试题均来自于@Python123网站,来源于北京理工大学MOOC_Python视频。为了更好理解Python语言并做笔记,对一些有难度/有意义的课后测试及作业题进行记录。
总结在前
1. 分析问题的计算方式最重要
2.for循环遍历
3.eval()函数的使用
4.range(len(s))的含义
测试题1 Hello World的条件输出
描述
获得用户输入的一个整数,参考该整数值,打印输出"Hello World",要求:
如果输入值是0,直接输出"Hello World"
如果输入值大于0,以两个字符一行方式输出"Hello World"(空格也是字符)
如果输入值小于0,以垂直方式输出"Hello World"*
Python代码
n = eval(input()) #eval函数将输入的数字字符串转化为数字;
if n == 0: #n与0比较,比较符号用==;
print("Hello World")
elif n > 0:
print("He\nll\no \nWo\nrl\nd") #以两个字符一行输出"Hello World"(空格也是字符);
else:
for c in "Hello World": #"Hello World"相当于字符串,for循环是遍历该字符串,遍历一次就输出一个,实现垂直方式输出。
print(c)
对于n>0部分的代码,做题时想复杂了,不用遍历,直接打印输出结果就可以,但只适合字符串短的。若字符串太长,还是要遍历实现,可采用另一种方式,取自【Python之Hello World的条件输出实例】:
elif n>0:
s = "Hello World"
st =""#设置空字符串
for n in range(len(s)): #循环遍历s字符串,range(len(s))就是range(0,11),len(s)=11 ,就是n从0开始循环到11;
if(n+1)%2 != 0:
st = st+s[n]
if len(s)==(n+1):
print(st)
else:
st = st+s[n]
print(st)
st=""
测试题2 数值运算
描述
获得用户输入的一个字符串,格式如下:M OP N
其中,M和N是任何数字,OP代表一种操作,表示为如下四种:+, -, *, /(加减乘除)
根据OP,输出M OP N的运算结果,统一保存小数点后2位。
注意:M和OP、OP和N之间可以存在多个空格,不考虑输入错误情况。*
Python代码
s = input()
print("{:.2f}".format(eval(s)))
做题时想复杂了,Python是可以进行简单计算的,输入的s为字符串,用eval函数转化为计算公式时,Python可直接输出数值。
测试题3 数字形式转换
描述
获得用户输入的一个正整数输入,输出该数字对应的中文字符表示。
0到9对应的中文字符分别是:零一二三四五六七八九
Python代码
temp = "零一二三四五六七八九"
s = input()
for c in s: #for循环的遍历,同测试1中的for循环
print(temp[eval(c)], end="")
#由于temp字符串的索引是与数字对应的,因此用eval将字符串c转化为数字后,就是对应的temp索引值。
#print()中增加end=""参数表示输出后不增加换行,多个print()可以连续输出。
做题时问题分析清楚了再想代码实现。
本文记录了Python123网站上北京理工大学MOOC_Python课程的测试题,包括Hello World条件输出、数值运算和数字形式转换。强调了解题思路的重要性,如for循环、eval函数和range(len(s))的应用。

1672

被折叠的 条评论
为什么被折叠?



