鱼C论坛

 找回密码
 立即注册
查看: 1955|回复: 4

咋少了第一行的星号啊

[复制链接]
发表于 2020-1-13 22:26:59 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
>>> for i in range(1,7):
        for j in range(1,7-i):
                print(' ',end='')
        for k in range(1,2*i-1):
                print('*',end='')
        print()

       
     
    **
   ****
  ******
********
**********

小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2020-1-13 22:29:18 | 显示全部楼层
你想要的是这种效果吗?

  1.     *
  2.    ***
  3.   *****
  4. *******
  5. *********
复制代码


代码:

  1. for i in range(1, 7):
  2.     for j in range(1, 7 - i):
  3.         print(' ', end='')
  4.     for k in range(1, 2 * i - 2):
  5.         print('*', end='')
  6.     print()
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-1-13 22:57:27 | 显示全部楼层
本帖最后由 jackz007 于 2020-1-14 00:39 编辑
  1.         for k in range(1,2*i-1):
  2.            print('*',end='')
复制代码

    当 i = 1 时,循环语句成为 for k in range(1 , 1) ,因此,无法进入循环打印第一行的那个星号。
  1. n = 6
  2. for i in range(1 , n + 1):
  3.     for j in range(n - i):
  4.         print(' ' , end = '')
  5.     for j in range(i * 2 - 1):
  6.         print('*' , end = '')
  7.     print()
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 1 反对 0

使用道具 举报

发表于 2020-1-14 00:20:48 | 显示全部楼层
  1. for i in range(0,7):
  2.         for j in range(0,7-i):
  3.                 print(' ',end='')
  4.         for k in range(0,2*i-1):
  5.                 print('*',end='')
  6.         print()
复制代码

你先对比着看一下,不会了继续问
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-1-14 11:21:46 | 显示全部楼层
range(i,j) 是从 i 开始的整数,数到 j,但是不包括 j
你这里第一个循环的k结果是 range(1,1),就是从 1 开始数到 1,但是又不等于 1 ,所以就没有输出了
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2026-1-21 20:12

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表