4444567 发表于 2020-2-29 17:06:59

第四课的课后作业

本帖最后由 4444567 于 2020-2-29 23:31 编辑

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

为什么这个代码运行后,会在前面空两格呢?要怎么做才能把空格去掉呢?

就是上面圈起来的空格。

°蓝鲤歌蓝 发表于 2020-2-29 17:16:01

print(' '*i,'*'*i )
这个 print() 函数的第一个参数 " "*i,便是你空行的个数,每一行有 i 个空行,不想要的话,删掉就好了。

蒋博文 发表于 2020-2-29 17:32:07

帮你改好了
temp = input('请输入一个整数:')
a = int(temp)
while a:
    b = a - 1
    while i:
      print(' ', end = '')
      b = b - 1
    c = a
    while j:
      print('*', end = '')
      c = c - 1
    print()
    a = a - 1

4444567 发表于 2020-2-29 23:34:07

°蓝鲤歌蓝 发表于 2020-2-29 17:16
这个 print() 函数的第一个参数 " "*i,便是你空行的个数,每一行有 i 个空行,不想要的话,删掉就好了。

谢谢朋友的回复,不过我的问题是删掉图中圈起来的空格(刚刚加的图片),我的代码运行是先空两格之后,再空我 i 的个数个格子。

4444567 发表于 2020-2-29 23:36:11

蒋博文 发表于 2020-2-29 17:32
帮你改好了

谢谢大佬的回答,小甲鱼的参考答案也是这个,不过我是想明白我的为什么会空两格(就是图片里面圈起来的地方);还有一个问题,这个代码里倒数第二行 print()是什么意思啊,我不太明白。

蒋博文 发表于 2020-3-11 20:53:57

4444567 发表于 2020-2-29 23:36
谢谢大佬的回答,小甲鱼的参考答案也是这个,不过我是想明白我的为什么会空两格(就是图片里面圈起来的地 ...

希望能帮助到你
temp = input('请输入一个整数:')
number = int(temp)
while number:
    i = number - 1
    while i:#这个循环控制打印空格
      print(' ', end = '')#end=''是为了连续打印输出,系统默认是end='\n'也就是换行
      i = i - 1
    j = number
    while j:#这个循环控制打印‘*’ 因为上一个循环的end='',所以可以接着空格打印
      print('*', end = '')
      j = j - 1
    print()#打印完空格和星号后,换行
    number = number - 1

4444567 发表于 2020-3-11 21:22:34

蒋博文 发表于 2020-3-11 20:53
希望能帮助到你

好的 谢谢!

蒋博文 发表于 2020-3-11 22:42:26

4444567 发表于 2020-3-11 21:22
好的 谢谢!

没事
页: [1]
查看完整版本: 第四课的课后作业