是否可以只将变量分配给range()的参数



在一个"范围";,是否可以将用户输入的数字分配给变量,并将该变量用于for循环范围内的开始、停止和设置参数?

以下是一段可能有助于消除混淆的代码:

Enter_integer = 4
for num in range((-Enter_integer)+1, (Enter_integer*-5)+1, Enter_integer):
print(num, end = " ")

我遇到麻烦的主要部分是最后一节,我试图在其中添加一个";对于循环";有一个范围和一个变量,该变量从代码开始就有一个赋值,但似乎什么都没有输出。

是否有可能在"变量"的所有三个参数中都只有变量;范围函数";,或者我必须有一个指定的";停止";范围函数内的参数;对于循环";功能?

很抱歉,如果其中一些令人困惑,我是一名大学一年级学生,我是代码的新手:/

是否可能在所有…中都只有变量?

是。不仅在python中,而且一般来说,变量可以在提供值的任何地方使用。你可以放心。

Enter_integer是正的,所以-Enter_integerEnter_integer*-5是负的。你不能通过+4从(你的情况下(-3到-19。尝试将最后一个参数更改为-EnterInteger:

Enter_integer = 4
for num in range((-Enter_integer)+1, (Enter_integer*-5)+1, -Enter_integer):
print(num, end = " ")

输出:

-3 -7 -11 -15

是的,你可以这样做。有几种方法:

第一个也是最简单的,但需要更多的用户输入:

  • 要求用户在命令行中自己输入每个var(假设您在命令行上运行(
print("Enter start number: ")
start = input()
print("Enter stop number: ")
stop = input()
print("Enter step number: ")
step = input()

然后用这些变量运行剩下的代码:

for num in range(start, stop, step):
do things

但从您的代码来看,您似乎只需要一个数字"enter_integer"来解析开始、停止和步骤,因此:

print("Enter your number: ")
number = input()

在这里,最好为您的开始、停止、步骤创建新的变量,这样您的range((函数中就不会有多余的不可读代码:

start = how you get start
stop = how you get stop
step = how you get step

然后和以前一样:

for num in range(start, stop, step):
do things

最新更新