|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
- 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
复制代码
为什么这里会出现字母‘J’,不明白这些代码的逻辑思维。我的理解是:
i = number - 1
while i:
print(' ', end = '')
i = i - 1
这段代码中,比如我输入数字5,程序会执行 i = number - 1,就是5-1 ;
while i: 循环 i
print(' ', end = '') 循环体打印无内容,end = '' 用空格替代自动换行,之前输入是数字5,所以空格5次?
i = i - 1 防止继续无限打印??特别不懂这句代码的作用
j = number
while j:
print('*', end = '')
j = j - 1
print()
number = number - 1
这段就更加不明白了?
end = '' 的作用是用空格代替自动换行啊。那么打印的结果不应该是 * * * * * (每出现一个*后,不是应该空格一次再* 吗)
答案怎么是一连出现5个***** ,中间不会有空格?
end = ''这个是代替print里的默认参数end = '\n',你也理解错了end = '',是代替换行,但''引号里面没有空格哦
end = ' ',这种有空格的话,就会像你说的那样:空格代替自动换行啊。那么打印的结果不应该是 * * * * * (每出现一个*后,不是应该空格一次再* 吗)
print(' ', end = '') 这一句循环空格5次是这个参数' ',而不是后面end=''
i = i - 1 防止继续无限打印??特别不懂这句代码的作用:
这一句,前面是不是有个while i:,要执行while语句里面的内容,只有i是非0非flase,就行,循环执行到第5次的时候,i=0,那么就不执行while语句里面的内容了
j = number number的值赋给j
while j:
print('*', end = '') 打印*,且不换行
j = j - 1
print() 当while j:不执行后,打印空行,相当于print(end='\n')
number = number - 1
还有不懂的可以回复给我(你可以在IDLE里输入:help(print) 和help(while)了解这两个语句)
|
|