python基础:关于while循环语句的问题
本帖最后由 793578477 于 2020-6-29 01:25 编辑各位鱼友大哥:python学习中有一些问题想咨询鱼油:
这个是小甲鱼老师正确的代码:temp = input('请输入一个整数:')
number = int(temp)
while number:
i = number - 1
while i:
print(' ', end = '')
i = i - 1
j = number
while j:
print('*', end = '')
j = j - 1
print()
number = number - 1
1.在小甲鱼老师的课后习题中一行代码不明白呢print()这行代码在这个小游戏中起什么作用呢?一般print()不是要加引号吗?
2.自己开始编写了一个程序,有些漏洞,为什么运行了一次之后print一行就不再运行了呢?temp = input('请输入一个整数:')
number = int(temp)
while number:
i = number - 1
while i:
print(' ', end = '')
i = i - 1
while number:
print('*', end = '')
number = number - 1
感谢各位鱼油大哥帮助指点{:9_221:} print函数有个内置参数默认值是’/n’
所以那个print()是用来换行的
那个内置参数就是那个end,这点在函数快查分类里面有 while number:
print('*', end = '')
number = number - 1
这是你的第二个while number循环,里面你设置了number = number - 1,导致number = 0 时会退出这个循环, 但此时的number的值已经是0,也就是说你的第一个while number
number = int(temp)
while number:
也就是这个就执行了一次就退出了,
正确的做法应该向甲鱼老师那样引入一个新变量j,代替number去进行第二个while循环,这样你number的值就只能在主循环里改变了
temp = input('请输入一个整数:')
number = int(temp)
while number:
i = number - 1
while i:
print(' ', end = '')
i = i - 1
j = number
while j:
print('*', end = '')
j = j - 1
print()
number = number - 1 小甲鱼的铁粉 发表于 2020-6-29 07:57
这是你的第二个while number循环,里面你设置了number = number - 1,导致number = 0 时会退出这个循环,...
这样,就是你上面发的答案一样
temp = input('请输入一个整数:')
number = int(temp)
while number:
i = number - 1
while i:
print(' ', end = '')
i = i - 1
j = number
while j:
print('*', end = '')
j = j - 1
print()
number = number - 1 本帖最后由 Twilight6 于 2020-6-29 08:07 编辑
print 有个默认参数end = '\n'是等于换行符的,也就是起到换行的效果,你循环过程中的两个 print 将 end = ' '空格了所以不换行,这里两个循环打印的都是你单行的内容
而这行打印完成了这一行当然就需要我们换行 所以我们这个时候单独 print 就是表示只打印一个默认参数 end='\n' 换行符
而且 print 没有要求一定要传入参数哈
2.自己开始编写了一个程序,有些漏洞,为什么运行了一次之后print一行就不再运行了呢?
因为你的第一个循环条件是while number 而你循环内部的第二个循环条件也是while number 导致你第一次循环时候在第二个while number循环过程将你number 先减到 0 了
外部的大循环 因为你number = 0 导致条件不成立而退出循环 所以只会循环打印一行,你也可以这样写:
temp = input('请输入一个整数:')
number = int(temp)
for i in range(number):
print(' '*(number-1)+'*'*number)
number -= 1
小甲鱼的铁粉 发表于 2020-6-29 07:57
这是你的第二个while number循环,里面你设置了number = number - 1,导致number = 0 时会退出这个循环,...
感谢鱼油大哥指点{:9_221:} Twilight6 发表于 2020-6-29 08:06
print 有个默认参数end = '\n'是等于换行符的,也就是起到换行的效果,你循环过程中的两个 print 将...
感谢鱼油大哥指点\爱心{:5_91:} 793578477 发表于 2020-6-29 08:26
感谢鱼油大哥指点
{:10_297:}不用客气 WindRoa 发表于 2020-6-29 02:10
那个内置参数就是那个end,这点在函数快查分类里面有
感谢鱼油大哥喏{:10_281:} 本帖最后由 夏冬冬 于 2020-7-29 12:01 编辑
感谢楼上几位大佬指点迷津
页:
[1]