Python 3-如何在一行上打印来自不同数组的多个元素?

Python 3-如何在一行上打印来自不同数组的多个元素?,python,arrays,python-3.x,printing,Python,Arrays,Python 3.x,Printing,我有3个大小为5的数组,一个包含姓名字符串,另一个与年龄相关,另一个与薪水相关 这是我第一次使用Python,所以我已经习惯了Java语法,我不确定我是否正确使用了它 我有以下两行: for i in range(5): name = raw_input("Enter a person's name: ") nameArray.append(str(name)) age = raw_input("What is their age: ") ageArray.app

我有3个大小为5的数组,一个包含姓名字符串,另一个与年龄相关,另一个与薪水相关

这是我第一次使用Python,所以我已经习惯了Java语法,我不确定我是否正确使用了它

我有以下两行:

for i in range(5):
    name = raw_input("Enter a person's name: ")
    nameArray.append(str(name))
    age = raw_input("What is their age: ")
    ageArray.append(int(age))
    salary = raw_input("How much do they make: ")
    salaryArray.append(int(salary))

for j in range(5):
    print(nameArray + ' is ' + ageArray + ' years old and makes $' + salary)

您需要关注与数组几乎相同的
列表,并且如果您要访问任何特定列表中的元素,您需要提供索引,就像您在java中使用数组一样

更新代码

nameArray = []
ageArray = []
salaryArray = []
for i in range(5):
    name = input("Enter a person's name: ")
    nameArray.append(str(name))
    age = input("What is their age: ")
    ageArray.append(int(age))
    salary = input("How much do they make: ")
    salaryArray.append(int(salary))

for j in range(5):
    print(nameArray[j] + ' is ' + str(ageArray[j]) + ' years old and makes $' + str(salaryArray[j]))
这本书不错,可以重新开始

如果您正在使用python2,并且只想打印结果而不存储:-)


您需要关注与数组几乎相同的
列表,并且如果您要访问任何特定列表中的元素,您需要提供索引,就像您在java中使用数组一样

更新代码

nameArray = []
ageArray = []
salaryArray = []
for i in range(5):
    name = input("Enter a person's name: ")
    nameArray.append(str(name))
    age = input("What is their age: ")
    ageArray.append(int(age))
    salary = input("How much do they make: ")
    salaryArray.append(int(salary))

for j in range(5):
    print(nameArray[j] + ' is ' + str(ageArray[j]) + ' years old and makes $' + str(salaryArray[j]))
这本书不错,可以重新开始

如果您正在使用python2,并且只想打印结果而不存储:-)


欢迎使用python。这是一个奇妙的拉比特洞:)

您试图做的工作是有效的(经过一些调整),但不是最具python风格的方法 首先,您的尝试是:使用输入而不是原始输入;其次,您需要定义数组(在python中称为列表),然后才能追加

e、 g

然而,使用dict更好(也就是说更像pythonic)。请参见下面的示例:

persons = []
for i in range(5):
    name   = input("Enter a person's name: ")
    age    = input("What is their age: ")
    salary = input("How much do they make: ")
    person = {'name' : name, 'age' : int(age), 'salary' : int(salary)}
    persons.append(person)

for person in persons:
    print(person['name'], 'is', str(person['age']), 'years old and makes $', str(person['salary']))

欢迎使用python。这是一个奇妙的拉比特洞:)

您试图做的工作是有效的(经过一些调整),但不是最具python风格的方法 首先,您的尝试是:使用输入而不是原始输入;其次,您需要定义数组(在python中称为列表),然后才能追加

e、 g

然而,使用dict更好(也就是说更像pythonic)。请参见下面的示例:

persons = []
for i in range(5):
    name   = input("Enter a person's name: ")
    age    = input("What is their age: ")
    salary = input("How much do they make: ")
    person = {'name' : name, 'age' : int(age), 'salary' : int(salary)}
    persons.append(person)

for person in persons:
    print(person['name'], 'is', str(person['age']), 'years old and makes $', str(person['salary']))

使用字典来反映您对具有姓名、年龄和薪水的员工的兴趣,而不是隐含相关的列表

employees = []
for i in range(5):
    name = raw_input("Enter a person's name: ")
    age = raw_input("What is their age: ")
    salary = raw_input("How much do they make: ")
    employees.append({"name": name, "age": age, "salary": salary})

for emp in employees:
    print('{name} is {age} years old and makes ${salary}'.format(**emp))

使用字典来反映您对具有姓名、年龄和薪水的员工的兴趣,而不是隐含相关的列表

employees = []
for i in range(5):
    name = raw_input("Enter a person's name: ")
    age = raw_input("What is their age: ")
    salary = raw_input("How much do they make: ")
    employees.append({"name": name, "age": age, "salary": salary})

for emp in employees:
    print('{name} is {age} years old and makes ${salary}'.format(**emp))

据我所知,此代码将有助于解决您的问题:-

nameArray=[]
ageArray=[]
salaryArray=[]
for i in range(2):
    name = raw_input("Enter a person's name: ")
    nameArray.append(name)
    age = raw_input("What is their age: ")
    ageArray.append(age)
    salary =raw_input("How much do they make: ")
    salaryArray.append(salary)

for j in range(2):
    print(nameArray[j] + ' is ' + ageArray[j] + ' years old and makes $' + salaryArray[j])

据我所知,此代码将有助于解决您的问题:-

nameArray=[]
ageArray=[]
salaryArray=[]
for i in range(2):
    name = raw_input("Enter a person's name: ")
    nameArray.append(name)
    age = raw_input("What is their age: ")
    ageArray.append(age)
    salary =raw_input("How much do they make: ")
    salaryArray.append(salary)

for j in range(2):
    print(nameArray[j] + ' is ' + ageArray[j] + ' years old and makes $' + salaryArray[j])

您需要使用
索引
名称数组[j]
等等。。。您正在使用python2或python3。我怀疑
raw\u input()
方法。几乎可以肯定,您使用的是列表而不是数组。在python中,“array”应该用来专门指
array.array
numpy.array
类型,而不是列表。虽然你肯定会看到这个词的使用过于草率,但最好是准确。Python列表与Java数组非常不同,它们更像Java中的
ArrayList
。您需要使用
index
nameArray[j]
等等。。。您正在使用python2或python3。我怀疑
raw\u input()
方法。几乎可以肯定,您使用的是列表而不是数组。在python中,“array”应该用来专门指
array.array
numpy.array
类型,而不是列表。虽然你肯定会看到这个词的使用过于草率,但最好是准确。Python列表与Java数组非常不同,它们更像Java中的
ArrayList
。但是,对于这种情况,我建议使用一个dict,例如person={'name':n,'age':a,'salary':s},然后将person附加到人员列表中。这确保了数据保持在一起。使用3个独立的数组,可以在不更新任何其他项的情况下添加或删除数组中的一个或多个项。请更新答案,检查最后一行中的错误。另外,在你的答案中添加dict实现或解释也会有帮助。但是,对于这种情况,我建议使用dict,例如person={'name':n,'age':a,'salary':s},然后将person附加到人员列表中。这确保了数据保持在一起。使用3个独立的数组,可以在不更新任何其他项的情况下添加或删除数组中的一个或多个项。请更新答案,检查最后一行中的错误。另外,在您的答案中添加dict实现或解释也会有所帮助。我在设置名称并要求输入名称的行中收到回溯和名称错误。是因为我将原始输入更改为输入吗?我在网上读到,原始输入返回一个字符串,输入返回一个“表达式?”如果你使用python3,你应该使用
input
它将返回str。阅读文档以获得更好的解释。或者读我得到了一个回溯和名称错误的行,我设置的名称,并要求输入的名称。是因为我将原始输入更改为输入吗?我在网上读到,原始输入返回一个字符串,输入返回一个“表达式?”如果你使用python3,你应该使用
input
它将返回str。阅读文档以获得更好的解释。或者读