在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.
答案 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"