503007004 发表于 2021-10-20 10:16:46

求解释为什么两个段代码赋值不同但结果相同

temp = input('请输入一个整数')
number = int(temp)
while number > 0:
    i = number - 1
#这里赋值是number-1
    while i > 0:
      print (' ',end="")
      i = i - 1
    j = number
    while j > 0:
      print('*',end="")
      j = j - 1
    print()
    number = number - 1

第二段
temp = input('请输入一个整数')
number = int(temp)
while number > 0:
    i = number
#这里赋值是number
    while i > 0:
      print (' ',end="")
      i = i - 1
    j = number
    while j > 0:
      print('*',end="")
      j = j - 1
    print()
    number = number - 1

jackz007 发表于 2021-10-20 10:42:00

本帖最后由 jackz007 于 2021-10-20 13:50 编辑

      两个代码打印的图案绝对不会一样,代码一每行先打印 number - 1 个空格(' '),再打印 number 个星号('*');代码二先打印 number个空格(' '),再打印 number 个星号('*')。最终效果是,代码二的图案是代码一的图案整体向右平移一个字符(空格)后的样子。

大马强 发表于 2021-10-20 10:42:04

*号输出一样但两者的空格是不一样的

大马强 发表于 2021-10-20 10:43:03

https://static01.imgkr.com/temp/bb0f87a8e76641c9b1378f493c97c86f.jpg

大马强 发表于 2021-10-20 10:43:58

可以仔细看看

503007004 发表于 2021-10-20 20:22:44

大马强 发表于 2021-10-20 10:43


感谢老哥,图解很贴心

503007004 发表于 2021-10-20 20:23:22

jackz007 发表于 2021-10-20 10:42
两个代码打印的图案绝对不会一样,代码一每行先打印 number - 1 个空格(' '),再打印 number 个 ...

谢谢大佬,解释的很明确
页: [1]
查看完整版本: 求解释为什么两个段代码赋值不同但结果相同