《零基础入门学习Python》第004讲课后题
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
问题:为啥要print一个空的括号?
-----来自python小白的无助------ 有用的,换行
不然型号就会打印在一行
这个是为了起到换行的作用,以为 while j 的循环过程中print 的默认参数 end = '' 空字符串 所以是一直不换行的
而且 while j 这个循环是循环打印这一行星星的数,所以循环过程中不能换行
但是循环结束要开始下一行的打印所以要加个print() 起到换行作用 本帖最后由 xiaosi4081 于 2020-6-16 17:38 编辑
print()
相当于:
print(end='\n')
只是end参数隐藏了
end参数默认是换行
起到换行作用
而且 while j 这个循环是循环打印这一行星星的数,所以循环过程中不能换行
但是循环结束要开始下一行的打印所以要加个print() 起到换行作用 刚才回答没过脑子...没看到这是在循环内 xiaosi4081 发表于 2020-6-16 17:35
print()
相当于:
print('\n')
不能相当于print('\n')
print() 只打印一个换行,而你这样是打印两个换行,会导致每次打完一行 * 会空一行 Twilight6 发表于 2020-6-16 17:36
不能相当于print('\n')
确实打印了两行! 青出于蓝 发表于 2020-6-16 17:35
有用的,换行
不然型号就会打印在一行
明白你的意思~ 彦彦儿 发表于 2020-6-16 17:54
确实打印了两行!
嗯嗯~ 因为 print有个默认参数end = '\n' 也就是这个默认参数才能使 print 函数起到换行作用
所以你直接 print() 也会有换行效果 反而你 print('\n') 这会先打印一次我们输入的 \n 然后在打印此 end = '\n' 导致打印两行
页:
[1]