来自006讲课后动动手的问题
各位大佬,这次的课后作业结合鱼老师给的代码和自己的理解还是有些不明就里,麻烦各位大佬帮我看看我自己的理解对不对,还有我把不明白的地方也注释出来了,恳请指点! >>> for iin range(4):print(i)
0
1
2
3
>>> for i in range(4):
print(i,end='')
0123
>>>
end=‘’不换行的用处
i+=1就是为了加到大于100然后退出while循环
否则就会一直循环下去 if i%2 !=0的意思就是如果 i 不是偶数,换言之就是如果i是奇数。i += 1相当于 i = i + 1 1.默认输出后有个换行符end="\n",加上end="" 就是空,不换行。
2. i += 1等价于i = i + 1在上面语句中的意思就是每循环一次就加一 本帖最后由 Yhan31441600 于 2021-1-7 10:35 编辑
这道题的题目:请写一个程序打印出 0~100 所有的奇数
解题思路:需要0-100每个数判断,是否为奇数。那么如果这个数字除以2的余数,等于0 ,就是偶数,反之,余数不等于0,就是奇数了。
首先需要给i赋值,从0开始,所以最开始i=0
然后执行一个循环:循环的目的是从0,一直输出到100(先不考虑只输出奇数,假设全部输出)
while i<=100
print(i)
i= i+1
输出一次i,那么i+1,再输出,以此循环(如果代码写到这里运行,打出来的结果就是0 1 2 3 4 ....一直打到100)
备注1:i=i+1可以简略的写成i+=1(a=a/2可以写成a/=2 b=b*5 可以写成b*=5只是一种简略的书写方式 结果是一样的,毕竟python的目标是简洁、直白、好理解、好看。)
备注2:print(i,end=“ ”) 其中end=“ ”意思是print输出完i之后,用什么结束,这里引号内只有一个空格,就是输出一次i后输出一个空格作为结束(如果不指定即只写print(i)的意思是输出一次i后默认换行)
print的具体用法,可以看论坛这个链接https://fishc.com.cn/forum.php?mod=viewthread&tid=141463&extra=page%3D1%26filter%3Dtypeid%26typeid%3D768
接着我们如果需要只输出奇数,就需要对 i 进行判断,如果 i%2 不等于0(即 i%2!=0 ),就输出这个数,再循环 i=i+1 判断下一个数;如果等于0,就不输出,直接循环 i=i+1 判断下一个数字
所以在循环中加入了判断
if i%2!=0:
print(i)
i=i+1
else:
i=i+1
所以这道题是首先循环输出0-100的所有数字,再判断这个数字是否为奇数,奇数就输出,不是奇数就不输出。循环里面加了一个判断。
从一个初学者的角度解释的,应该还挺详细的(毕竟我也只才学到第21节),有兴趣的话加个好友一起学习吧!~
求学友!~!~!~
end是print的一个参数,就是末尾,默认是换行,如果是空字符串就是末尾不换行,继续在该行打印,i += 1是简写,和i = i + 1一样 首先说明一点,你的else分支是多余的,代码可以精简,如下:
i = 0 # 给i赋初值位0
while i<=100:#循环条件为i<=100,满足时一只执行下面的语句
if i%2 !=0:
#%是取余号,不是除号,意思是i对2取余数
# 对2取余不等于零,意思时除以二余数为1,也就是奇数
print(i,end=" ")#满足奇数的i的取值,以空格为结尾打印出来
i+=1 #i+=1等效于i=i+1,就是执行完一遍后,i自己加一,一直到i>100,跳出循环
关于print函数的end参数,就是打印结束后的结尾,举例如下:
print('hello')#不加end参数,默认为换行
print('hello',end=" ") #以空格为结尾
print('hello',end='米哈伊尔') #以米哈伊尔为结尾
测试结果如下:
hello
hello hello米哈伊尔
页:
[1]