聪明hrr 发表于 2021-2-1 13:47:14

新手学python遇到的问题

不好意思打扰了。想问一下,这串代码里为啥要用i呢。感觉好像跟i没啥关系呀
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

小甲鱼的铁粉 发表于 2021-2-1 13:52:36

是的,用a, b, c, d, e ,f ,g, 都行

Twilight6 发表于 2021-2-1 13:59:05



i 、j 都是用来记录每行需要打印的空格、*号数的,如果直接用 number ,那么第一次循环就会直接改变 number 的值,导致 while循环结束, number 就为 0

此时再去打印 * 就没有一个具体的数值了导致整体的循环结束,这里相当于 i、j 每次都是暂时替代循环的 number 来进行循环打印

实际上代码简化下就很清晰了:

temp = input('请输入一个整数:')
number = int(temp)
while number:
    print(' '*(number-1)+'*'*(number))
    number = number - 1

聪明hrr 发表于 2021-2-1 16:10:14

Twilight6 发表于 2021-2-1 13:59
i 、j 都是用来记录每行需要打印的空格、*号数的,如果直接用 number ,那么第一次循环就会直接改变 nu ...

谢谢
页: [1]
查看完整版本: 新手学python遇到的问题