题目:
编写一个程序,创建一个给定范围内的整数列表。
定义函数list_between(),有两个参数start和end。
在函数内,创建一个介于start(不包括)和end(不包括)之间的所有整数的列表,并返回该列表。
def list_between(start, end):# 此处写你的代码arr = list(range(start+1,end))# print(arr)# for i in range(start+1,end):# list.append(i)return arr
# 获取输入的start 及 end
start = int(input())
end = int(input())# 调用函数
print(list_between(start, end))
Python range() 方法详解
1. 基本语法
range(stop) # 生成 0 至 stop-1 的整数序列
range(start, stop) # 生成 start 至 stop-1 的整数序列
range(start, stop, step) # 生成 start 开始,步长为 step 的等差数列,不超过 stop
2. 参数说明
- start(可选):起始值,默认为 0
- stop(必选):终止值(不包含该值)
- step(可选):步长,默认为 1,不能为 0(否则触发
ValueError
)
3. 返回值特性
返回 range
类型对象(Python 3 特性),是惰性计算的不可变序列,可通过 list()
转换为列表:
print(range(5)) # 输出:range(0, 5)
print(list(range(5))) # 输出:[0, 1, 2, 3, 4]
4. 使用场景
- 循环控制:
for i in range(3):print(i) # 输出 0, 1, 2
- 索引遍历:
arr = ["a", "b", "c"] for i in range(len(arr)):print(arr[i])
- 生成序列:
odd_numbers = list(range(1, 10, 2)) # [1, 3, 5, 7, 9]
5. 特殊用法
- 负数步长(反向生成):
list(range(5, 0, -1)) # 输出 [5, 4, 3, 2, 1]
- 浮点数处理:
需借助numpy.arange()
(如引用[2]所述):import numpy as np np.arange(0, 1, 0.3) # 生成 [0.0, 0.3, 0.6, 0.9]
6. 注意事项
错误示例 | 错误原因 | 解决方案 |
---|---|---|
range(10, 5) | start > stop 且 step=1 | 使用负数步长:range(10,5,-1) |
range(1, 5, 0) | step=0(违反约束) | 修改为非零步长 |
range(1.5, 5) | 参数要求整数 | 使用 numpy.arange() |