我正在嘗試制作一個程式,該程式將從名稱用戶那里獲取多個輸入并將其附加到串列中。名字將有姓氏,我必須拆分姓氏并將所有輸入放在一個串列中,例如 - ['Christiano', 'Ronaldo','Harry','Potter', 'Lionel', 'Messi'} 我嘗試使用split 函式,但它只給出最后一個輸入的串列。我嘗試附加它,但它使它成為串列串列。請幫助。這是我的代碼-
inp = int(input("Enter the no.of names"))
for i in range(inp):
name = input("Enter the names").split(" ")
print(name)
在這里,如您所見, split 函式只是拆分并給我姓氏串列,而不是其他名字。
uj5u.com熱心網友回復:
名稱串列可以擴展如下:
names = []
for _ in range(inp):
names.extend(input('Enter name: ').split(' '))
該.extend()函式將拆分名稱串列的值names添加到串列的末尾。
此處鏈接的Python串列教程檔案。
uj5u.com熱心網友回復:
如何使用:list.extend
def get_int_input(prompt: str) -> int:
while True:
try:
return int(input(prompt))
except ValueError:
print('Error: Enter an integer, try again...')
def main() -> None:
num_names = get_int_input('Enter the no. of names: ')
names = []
for i in range(1, num_names 1):
name = input(f'Enter name {i} of {num_names}: ')
names.extend(name.split())
print(f'{names = }')
if __name__ == '__main__':
main()
示例用法:
Enter the no. of names: 3
Enter name 1 of 3: Christiano Ronaldo
Enter name 2 of 3: Harry Potter
Enter name 3 of 3: Lionel Messi
names = ['Christiano', 'Ronaldo', 'Harry', 'Potter', 'Lionel', 'Messi']
uj5u.com熱心網友回復:
或者就這樣...
inp = int(input("Enter the no.of names --> "))
lst = []
for i in range(inp):
name = input("Enter the names --> ").split()
for x in range(len(name)):
lst.append(name[x])
print(lst)
""" R e s u l t
Enter the no.of names --> 3
Enter the names --> aa bb
Enter the names --> cc dd ee
Enter the names --> ff gg
['aa', 'bb', 'cc', 'dd', 'ee', 'ff', 'gg']
"""
...作為對您的代碼的溫和更正。問候...
轉載請註明出處,本文鏈接:https://www.uj5u.com/qianduan/489291.html
標籤:Python python-3.x 列表
