孤妓与酒 发表于 2021-2-3 13:52:55

第四讲:(2)尝试写代码实现以下截图功能

temp= input('请输入一个整数')
num = int(temp)
while num:
    i = num - 1
   while i:
         print('', end='')
         i = i -1
    j = num
    while j:
      print('*', end='')
      j = j - 1
    print()
    num = num -1

哪位大佬能知道循环里i那部分的作用??没有那部分也能得出结果!!!

ncx0331 发表于 2021-2-3 14:00:01

i赋值给num,,num会持续减1,当i为0的时候,会退出循环。可能是你试的次数少了,程序没运行到那来

洋洋痒 发表于 2021-2-3 14:01:16

你写的代码错了,正确代码里while i 循环那个print函数第一个是个空格' '
整个while i 循环的作用是用来打印i 个空格以达到想要的效果

ncx0331 发表于 2021-2-3 14:01:27

0在Python中代表False

jackz007 发表于 2021-2-3 14:10:07

本帖最后由 jackz007 于 2021-2-3 14:12 编辑

      这一句
         print('', end='')
   恐怕得是这样
         print(' ', end='')
   不然的话,真没有必要写它
   简写一下,代码的意图一目了然
num = int(input('请输入一个整数'))
for i in range(num , 0 , -1):
    print(' ' * (i - 1) + '*' * i)

Ⅲ只小猪 发表于 2021-2-3 15:59:22

你可以把i和j想成列和行,循环的次数越多,列和行就越大

孤妓与酒 发表于 2021-2-3 16:31:09

jackz007 发表于 2021-2-3 14:10
这一句

   恐怕得是这样


你是大佬,不过我是萌新,看不太懂你的

孤妓与酒 发表于 2021-2-3 16:37:17

洋洋痒 发表于 2021-2-3 14:01
你写的代码错了,正确代码里while i 循环那个print函数第一个是个空格' '
整个while i 循环的作用是用来打 ...

所以前面 i 循环是为了把整个截图里空白的那些打印出来!?!

洋洋痒 发表于 2021-2-3 16:45:55

孤妓与酒 发表于 2021-2-3 16:37
所以前面 i 循环是为了把整个截图里空白的那些打印出来!?!

对的,while i 循环的作用就是打印前边的空白的,只不过你写的代码少了个空格

swj520qll 发表于 2021-10-28 13:16:55

while 循环体是循环从上到下一次一次执行,还是先执行上面的循环,再执行下面的循环?
页: [1]
查看完整版本: 第四讲:(2)尝试写代码实现以下截图功能