我正在嘗試創建一些代碼,用戶將在其中鍵入類別值,如果一行中的特定列 == 到該類別,則它將以下面的格式顯示該行。出于某種原因,我的代碼只找到陣列中與列相等的第一行,但跳過其余行,即使列等于用戶輸入。
例如,如果有人輸入 Development 作為類別......它應該在第 7 列(即第 1 行和第 5 行)中設定所有帶有 Development 的行 非常感謝任何幫助找出問題的方法
contact_list = [[1,'Athena','Brizell','Vitz','9 Northview Hill',5888510700,344-241-3276,'Development','4/27/2021','10/29/2021','Athena Brizell'],
[2,'Isadore','Ander','Wordtune','72660 Orin Road',4848283832,877-155-7495,'Office_fitting','4/25/2021','9/26/2021','Isadore Ander'],
[3,'Hannis','Matches','Realpoint','847 Schurz Park',9052187780,368-121-1215,'Office_fitting','1/8/2021','9/4/2021','Hannis Matches'],
[4,'Cindee','Breadon','Gigashots','3 Bultman Way',4543988898,155-423-5293,'Support','4/25/2021','6/29/2021','Cindee Breadon'],
[5,'Baron','Arnao','Thoughtstorm','856 Blackbird Road',9831465576,207-486-1010,'Development','4/30/2021','10/28/2021','Baron Arnao'],
[6,'Laureen','Kearney','Dablist','70525 Texas Terrace',6091413184,602-843-9500,'Office_fitting','3/3/2021','9/3/2021','Laureen Kearney']]
category = input('Please enter the category you wish to display contacts for (Development/Office_fitting/Support: ')
for row in contact_list:
if row[7] == category:
firstname = f'Firstname: {row[1]}\n'
lastname = f'Lastname: {row[2]}\n'
company = f'Company: {row[3]}\n'
address = f'Address: {row[4]}\n'
landline = f'Phone: {row[5]}\n'
mobile = f'Mobile: {row[6]}\n'
category = f'Category: {row[7]}\n'
date_created = f'Date Created: {row[8]}\n'
date_modified = f'Date Updated: {row[9]}\n'
print(firstname, lastname, company, address, landline, mobile, category, date_created, date_modified)
uj5u.com熱心網友回復:
您更改了category之前從 for 回圈中的用戶輸入定義的變數值。要修復它,請將category變數重命名為其他名稱,例如category_row在 for 回圈內。
contact_list = [[1,'Athena','Brizell','Vitz','9 Northview Hill',5888510700,344-241-3276,'Development','4/27/2021','10/29/2021','Athena Brizell'],
[2,'Isadore','Ander','Wordtune','72660 Orin Road',4848283832,877-155-7495,'Office_fitting','4/25/2021','9/26/2021','Isadore Ander'],
[3,'Hannis','Matches','Realpoint','847 Schurz Park',9052187780,368-121-1215,'Office_fitting','1/8/2021','9/4/2021','Hannis Matches'],
[4,'Cindee','Breadon','Gigashots','3 Bultman Way',4543988898,155-423-5293,'Support','4/25/2021','6/29/2021','Cindee Breadon'],
[5,'Baron','Arnao','Thoughtstorm','856 Blackbird Road',9831465576,207-486-1010,'Development','4/30/2021','10/28/2021','Baron Arnao'],
[6,'Laureen','Kearney','Dablist','70525 Texas Terrace',6091413184,602-843-9500,'Office_fitting','3/3/2021','9/3/2021','Laureen Kearney']]
category = input('Please enter the category you wish to display contacts for (Development/Office_fitting/Support: ')
for row in contact_list:
if row[7] == category:
firstname = f'Firstname: {row[1]}\n'
lastname = f'Lastname: {row[2]}\n'
company = f'Company: {row[3]}\n'
address = f'Address: {row[4]}\n'
landline = f'Phone: {row[5]}\n'
mobile = f'Mobile: {row[6]}\n'
category_row = f'Category: {row[7]}\n'
date_created = f'Date Created: {row[8]}\n'
date_modified = f'Date Updated: {row[9]}\n'
print(firstname, lastname, company, address, landline, mobile, category_row, date_created, date_modified)
uj5u.com熱心網友回復:
那是因為你category在這里修改了:
category = f'Category: {row[7]}\n'
\n現在包括一個新行和另一個string,所以'Development' != 'Category: Development\n'
最好在字串print本身而不是在它們的系結中格式化字串:
for row in contact_list:
if row[7] == category:
firstname = row[1]
lastname = row[2]
company = row[3]
address = row[4]
landline = row[5]
mobile = row[6]
category = row[7]
date_created = row[8]
date_modified = row[9]
print(
f'Firstname: {firstname}\nLastname: {lastname}\nCompany: {company}\nAddress: {address}\nPhone: /{landline}\nMobile: {mobile}\nCategory: {category}\nDate Created: {date_created}\nDate Updated: {date_modified}')
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/360854.html
