鱼C论坛

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

[已解决]for 循环语句

[复制链接]
发表于 前天 15:41 | 显示全部楼层 |阅读模式

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

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

x

  1. for i in range(10,1,1):
  2.         print("*"*i)
复制代码


为什么不能输出图形呢 ?如果  for i in range(1,10,1): 的话,就能输出图形。
最佳答案
前天 18:14
因为10再怎么加1也到不了1,可以把最后一个数改成-1
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 前天 15:42 | 显示全部楼层
鱼油的问题在于range(10,1,1)的参数设置错误,导致循环无法执行。原因分析如下:

错误原因:
1. range(10,1,1) 中:
   - 起始值:10
   - 结束值:1(循环到1时停止,不包括1
   - 步长:1(正数递增)
2. 当步长为正数时,要求起始值 < 结束值才能执行循环
3. 此处 10 > 1,且步长为正数,循环条件永远不成立 → 循环体一次都不执行

解决方案:
要输出递减的星号金字塔,需将步长改为负数(如 -1):

  1. for i in range(10,0,-1):  # 从10递减到1(不包括0)
  2.     print("*" * i)
复制代码


输出效果:
**********
*********
********
*******
******
*****
****
***
**
*

对比说明:
循环语句执行逻辑结果
range(10,1,1)10→9→8...?(步长+1无法到达1)无输出
range(1,10,1)1→2→3...9(正常递增)递增金字塔
range(10,0,-1)10→9→8...1(递减到1)递减金字塔


关键记忆点:使用range()递减时必须设置负步长,且起始值 > 结束值。

以上回复来自 FishC AI 小助理,如未能正确解答您的问题,请继续追问。
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 前天 15:54 | 显示全部楼层
本帖最后由 1q23w31 于 2025-7-31 15:59 编辑
  1. https://www.runoob.com/python/python-func-range.html
复制代码

ange函数在Python中用于生成整数序列,其语法和用法如下:

基本语法:

range(stop):从0开始,到stop-1结束,步长为1。
range(start, stop):从start开始,到stop-1结束,步长为1。
range(start, stop, step):从start开始,每次增加step,直到接近stop,但不包括stop。
关键点:

结束点stop不包含在生成的序列中。
步长step可以是正数(递增)或负数(递减)。
当step为负数时,start必须大于stop,否则不会生成任何元素。
range返回的是一个不可变的range对象,需转换为列表使用。
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 1 反对 0

使用道具 举报

发表于 前天 18:14 | 显示全部楼层    本楼为最佳答案   
因为10再怎么加1也到不了1,可以把最后一个数改成-1
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 前天 18:16 | 显示全部楼层
博客园更详细的讲解

在Python中,range()是一个内置函数,用于生成一个整数序列,通常用于循环遍历。以下是range()函数的一些常见用法:

range(n): 从0数到n. 不包含n
range(m, n): 从m数到n, 不包含n
range(m, n, s): 从m数到n, 不包含n, 每次的间隔是s

下面举例:



1. 默认情况

当你调用range()函数时,它会生成一个从0开始到给定数字(不包括该数字)的整数序列。

for i in range(5):
    print(i)

# 输出: 0, 1, 2, 3, 4
2. 指定开始和结束

range()函数可以接受三个参数,分别表示起始点、终止点和步长。起始点默认为0,终止点是生成的数字的最大值(不包括该值),步长是每次递增的间隔。

for i in range(2, 5):
    print(i)

# 输出: 2, 3, 4
3. 指定步长

还可以通过设置步长参数来改变生成的数字的间隔。例如,步长为2将使序列中的每个数字之间的间隔为2。

for i in range(0, 10, 2):
    print(i)

# 输出: 0, 2, 4, 6, 8
4. 与列表结合使用

还可以将range()函数与list()函数结合使用来创建一个列表。例如,下面的代码将创建一个包含1到10(包括10)的整数的列表。

my_list = list(range(10))  # ['0', '1', '2', '3', '4', '5', '6', '7', '8', '9']
print(my_list)
5. 与其他内置函数结合使用

range()函数还可以与其他内置函数结合使用,例如map()和filter()。例如,下面的代码将使用range()函数和map()函数将列表中的每个元素乘以2。

my_list = [1, 2, 3, 4, 5]
new_list = list(map(lambda x: x * 2, my_list))  # [2, 4, 6, 8, 10]
print(new_list)
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-8-2 19:30

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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