大佬教教我
for i in range(1, 4):for j in range(1, 6):
print("*", end = "");
print( )
这个代码为什么最后会输出 五排五个*?
*****
*****
*****
*****
***** 只有三排啊,你看错参数了吧
>>> for i in range(1, 4):
for j in range(1, 6):
print("*", end = "");
print()
*****
*****
*****
>>> hrp 发表于 2020-10-19 23:56
只有三排啊,你看错参数了吧
是的我看错了但是能不能给我解释一下为什么会输出这么多*啊 我实在不明白这个代码的意思
1. 你的代码有一处错误,Python里表达式结束之后不需要“;”
2. 你的代码输出应该是三排五个“*”, 原因是你的代码有两个循环,内循环里打印五次“*”, 由于指明了打印末尾无符号,故五个“*”会连成一排。外部循环range(1, 4)只循环三次,print()r函数默认在结尾有个换行。
所以最终的结果是输出三排***** 本帖最后由 英俊男孩建坤 于 2020-10-20 00:10 编辑
porterstudio 发表于 2020-10-20 00:05
1. 你的代码有一处错误,Python里表达式结束之后不需要“;”
2. 你的代码输出应该是三排五个“*”, 原因 ...
“;”有这个可以正常输出结果呀参数确实看错了
但是为什么连续打印五个***** 不写成n*“*”的形式 (n指一个数字) 还有那个end有什么作用呀? 本帖最后由 hrp 于 2020-10-20 00:15 编辑
英俊男孩建坤 发表于 2020-10-20 00:03
是的我看错了但是能不能给我解释一下为什么会输出这么多*啊 我实在不明白这个代码的意思
当第一层循环i=1时,执行完整的第二层循环(j=1,2,3,4,5),即打印5次*且不换行(对应代码是print('*', end='')),第二层循环完以后执行到print(),即打印一个换行符;
然后第一层循环到i=2,执行完整的第二层循环(j=1,2,3,4,5),即打印5次*且不换行(对应代码是print('*', end='')),第二层循环完以后执行到print(),即打印一个换行符;
以此类推......
end=''表示print结尾打印一个空字符,不写end=''就是默认end='\n',即结尾打印一个换行符。 hrp 发表于 2020-10-20 00:13
当第一层循环i=1时,执行完整的第二层循环(j=1,2,3,4,5),即打印5次*且不换行(对应代码是print('*', en ...
哦 谢谢呀 hrp 发表于 2020-10-20 00:13
当第一层循环i=1时,执行完整的第二层循环(j=1,2,3,4,5),即打印5次*且不换行(对应代码是print('*', en ...
请问一下这个end = “”有什么用呀? 英俊男孩建坤 发表于 2020-10-20 00:17
请问一下这个end = “”有什么用呀?
建议学的时候多百度,这样记忆会更深刻 英俊男孩建坤 发表于 2020-10-20 00:17
请问一下这个end = “”有什么用呀?
看我上面的回答。
页:
[1]