如何在列表中输入整数值(Python3.x)?
我试图使用列表作为数组,我想在列表中输入整数值,以便对其执行一些算术运算如何在列表中输入整数值(Python3.x)?,python,list,python-3.x,append,Python,List,Python 3.x,Append,我试图使用列表作为数组,我想在列表中输入整数值,以便对其执行一些算术运算 m=int(input()) 我总是用它从用户那里获取一些整数输入 //creating an array myArray=[] inp=int(input("Please enter the length of array you wish to create")) for m in range(inp): myArray.append(int(input())) print(myArray) 但这不起作用
m=int(input())
我总是用它从用户那里获取一些整数输入
//creating an array
myArray=[]
inp=int(input("Please enter the length of array you wish to create"))
for m in range(inp):
myArray.append(int(input()))
print(myArray)
但这不起作用。为什么?
错误:基数为10的int()的文本无效
REPL演示
好的,因为输入将被解析为字符串,int
只能将仅是数字的字符串强制转换为整数。。。如果输入错误,您会遇到大麻烦,因为它会立即停止您的程序
我建议使用while
循环和try except
异常语句来处理错误
Python 2.x的注意事项:使用原始输入
,因为输入
将导致名称错误:如果传递的字符没有字符串引号,则未定义名称
str-to-int强制可以通过尝试来完成,看看输入是否是一个数字 这里我们制作一个零数组和一个连续编号的数组(一个范围) 在python中,将数组称为列表
array = [0]
try:
array = array * int(raw_input('How long? ->'))
print array
except:
print "try using a number"
或
PS这是Python v2代码而不是v3用户键入什么?在Python 3.5.1中,我得到一个错误,其中包括失败的字符串,例如,对于空字符串(因为我没有输入任何内容):
ValueError:int()的文本无效对于基数10:“
您是否没有看到最后的引号和它试图解析的文本?@zondo integer数据,他希望添加到array@brainst我的意思是,他的例子是什么?如果他输入正确的数字,他就不会出错。我对它进行了测试,如果输入了正确的数字,它就会工作。@zondo看起来你是对的有语法错误:/print my_array
print(my_array)
也给了我语法错误?实际语法是什么?我尝试过搜索,但没有得到它,我修复了一些问题,因为我在Python2.x中编写了这篇文章,并且刚刚意识到他们不赞成Python3.x中的raw_input
,但其他一切都仍然有效。语法错误是否指向打印(my_数组)
中的第一个括号?如果是这样的话,很可能是控制台中的缩进错误。。有点奇怪。。我写了程序,然后在空闲状态下运行,然后它显示语法错误。但如果我直接在空闲状态下运行,那么doesnt@brainst:嗯,我不知道有什么问题。我编写了脚本并在REPL/IDLE中运行它,它对我来说运行得非常完美。如果还有任何问题,请告诉我。
# -*- coding: utf-8 -*-
INVALID_NUMERIC_INPUT_MSG = "Invalid input - please enter a finite number with no spaces!"
KEYBOARD_INTERRUPTION_MSG = "Keyboard interruption: program exited."
def main():
my_array = []
print()
array_length = None
while array_length is None: # accept input until valid
try:
array_length = int(input("Please enter the length of array you wish to create: "))
except ValueError:
print(INVALID_NUMERIC_INPUT_MSG)
except KeyboardInterrupt:
print("\n" + KEYBOARD_INTERRUPTION_MSG)
quit()
print("Your array length is {}.".format(array_length))
print()
while len(my_array) < array_length:
try:
my_array.append(int(input()))
except ValueError:
print(INVALID_NUMERIC_INPUT_MSG)
except KeyboardInterrupt:
print("\n" + KEYBOARD_INTERRUPTION_MSG)
quit()
assert len(my_array) == array_length # check for program correctness
print()
print("Your array is: {}".format(my_array))
print()
if __name__ == '__main__':
main()
$ python3 input-program.py
Please enter the length of array you wish to create: 4
Your array length is 4.
1
2
3
4
Your array is [1, 2, 3, 4]
array = [0]
try:
array = array * int(raw_input('How long? ->'))
print array
except:
print "try using a number"
try:
array = range(int(raw_input('How long? ->')))
print array
except:
print "try using a number"