1

我没有得到我正在阅读的 Python 书中章节结尾问题的用户输出。

问题是:

编写一个对用户有用的程序。让用户输入开始编号、结束编号和计数的数量。

这就是我想出的:

start = int(input("Enter the number to start off with:"))
end = int(input("Enter the number to end.:"))
count = int(input("Enter the number to count by:"))

for i in range(start, end, count):
    print(i)

在这个输入之后什么都没有发生,除了这个:

Enter the number to start off with:10
Enter the number to end.:10
Enter the number to count by:10
4

2 回答 2

9

range(10, 10, 10)将生成一个空列表,因为range构造 a listfromstartstop EXCLUSIVE,所以您要求 Pythonlist从 10 到 10 但不包括 10 构造一个。10 到 10 之间正好有 0 个整数,因此 Python 返回一个空列表。

In [15]: range(10, 10, 10)
Out[15]: []

没有什么可以迭代的,所以不会在循环中打印任何内容。

于 2013-08-30T00:31:00.260 回答
1

记住从range(start, stop, count)开始start,但在停止之前结束。

因此 range(10,10,10) 将尝试生成一个从 10 开始并在 10 之前停止的列表。换句话说,列表中没有任何内容,并且永远不会到达 print 语句。

用其他数字再试一次:从 5 开始,在 12 之前停止,然后按 2 计数应该会得到更令人满意的结果。

于 2013-08-30T00:35:51.490 回答