范围

时间:2018-01-29 02:36:30

标签: python input range

在Python中,我想取一个数值输入并将其放入一个范围内。目标是根据原始输入中输入的数字多次迭代问题。令我困惑的是原始输入值发生了变化,所以我不知道如何使范围参数值与原始值一起变化 输入

Number =input(“enter a number”)

for I in range(10):
      Color=input(“enter an color”)  #this input is iterated multiple times based on the number input. I dont know how make range change it’s value.

3 个答案:

答案 0 :(得分:0)

您想要获取用户输入的数字,将其转换为int,然后将其用作range的输入:

Number = input(“enter a number”)
n = int(Number)

for I in range(n):
      Color=input(“enter an color”)

您需要进行int转换,因为用户输入存储为字符串,但range需要int。不幸的是,如果用户输入的内容无法转换为int,则转换将失败,您的程序将崩溃。您可以通过测试转换成功并以其他方式通知您的用户来处理此问题:

while(True):
    Number = input(“enter a number”)
    try:
        n = int(Number)
    except:
        print("You did not enter a valid number!")

答案 1 :(得分:0)

你想要这样的东西:

num = int (input(“Enter a number:”) )

for I in range(num):
      Color=input(“enter an color:”)

>>>Enter a number:4
enter a color:red
enter a color:green
enter a color:blue
enter a color:brown
  

这是通过将值num提供给python的range function来实现的。

假设你要测试一下:

num = 4
for i in range(num): #Notice num being the input of range
    print(i,)
>>>0,1,2,3

这意味着range(num)函数从 0 开始,在 num-1 处停止。

可以通过提供初始输出来更改:

 num = 4
    for i in range(2,num): #Notice 2 and num being the initial and final endpoint respectively.
        print(i,)
    >>>2,3

答案 2 :(得分:0)

我认为你正在尝试做这样的事情......

# assuming you're writing this in python2.7, otherwise, input() is fine
number = raw_input('enter a number: ') # allow user to input a number
for i in range(int(number)): # cast the string to an integer, and do the following the requested number of times...
    color = raw_input('enter a color: ')

如果您正在使用python 2.7:

,请注意input()功能

What's the difference between raw_input() and input() in python3.x?

完整性

其他人指出原来可能会抛出错误,为什么不添加一些安全性?

number = raw_input('enter a number: ')
try:
    for i in range(int(number)):
        color = raw_input('enter a color: ')
except Exception as exc:
    print exc, "You must enter a valid integer"