|
|
10鱼币
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(' ', end = '')和 print('*', end = '')一直看不懂,有小伙伴能帮我把这小鱼老师的题目答案注释下吗?最好每一行都注释下。
- temp = input('请输入一个整数:') #使用input函数让用户输入内容,并将这个内容传给变量temp,注意,通过input函数输入得到的是一个字符串类型的数据
- number = int(temp) #因为temp是字符串类型的数据,但是我们需要的是一个整数,所以用int整型来把temp这个字符串数据变为整型数据,并且传给number
- while number: #while循环 且number是循环条件,只要number不为0,条件一直为真,一直执行while循环
- i = number - 1 #这里定义的i是为打印出空格准备的,通过分析题目可以知道,每一行的空格数比*号数少1
- while i: #这边的while循环是为了循环打印“每一行”正确个数的空格
- print(' ', end = '') #print函数,如果没有end = '',默认是换行,我们需要的是把每一行的空格打印在一行里,所以不能换行!
- i = i - 1 #这里应该好理解,就是打下一行
- j = number #这边定义的一个变量j是为了答应*号准备的,根据题意,每一行*号个数跟与输入的数一直
- while j: #这边的while循环是为了循环打印“每一行”正确个数的*
- print('*', end = '')
- j = j - 1
- print() #换行,进入下面一行的打印,不然所有内容都打印在同一行,你可以把这个去掉,然后运行看看效果
- number = number - 1 #执行下一行
- #这边一共有三个while循环,举个最简单的例子!假如你输入的是2,那么结果应该是一共两行,第一行有1个空格还有2个*,第二行是0个空格1个*。 最外层的也就是第一个while循环可以理解为先打印第一行,然后再返回头打印下面每一行。 numer=2, while number,条件为真,往下走,i=1,while i,条件为真继续往下走,打印一个空格并且不换行,i=i-1=0,此时while i,条件为假,结束循环,往下走执行到j=number=2,while j,条件为真,答应一个*并且不换行,j=j-1=1,while j,条件依然为真,继续执行这里的循环,又打印一个*并且不换行,此时已经两个*了,往下走,j=j-1=0,while j,条件为假,结束循环,往下走,执行print(),这个是为了换行,然后执行number=number-1=2-1=1,回到第一个最外层的大循环,判断条件是否为真,while number,条件为真,下面重复上面的内容!
复制代码
|
|