我試圖讓用戶輸入一個與第一個列表匹配的ID號,然後從以下2個列表中提取索引匹配名稱和支付率。但是,它沒有在列表中找到員工ID。我試過了一堆不同的循環,但它要麼完全錯誤,讓我們像「0」返回值的單個數字,或像現在這樣工作 - 很好,但不匹配第一個列表。將數據存儲在3個單獨的列表和並行訪問中
這是爲了一個類的任務,但我找不到任何類或在線類似於我想要做的例子。我在employee_id_prompt部分嘗試了一堆不同的循環,但是我無法使其工作。
有人可以提供一些指導,如何讓它匹配到第一個列表的輸入,並返回第二個和第三個列表中的匹配值?我嘗試了一堆「在employee_id中找到」,「如果employee_id中的input_employee_id」等,但我仍然發現我找不到的錯誤。
SIZE = 10
employee_id = [1001, 1002, 1003, 1004, 1005, 1006, 1007, 1008, 1009, 1010]
employee_name = ["A", "B", "C", "D", "E", "F", "G", "H", "I", "J"]
employee_pay = [17.75, 18.23, 19.42, 20.00, 21.50, 22.34, 23.74, 24.68, 24.75, 25.00]
def check_int(prompt):
int_result = 0
while True:
try:
int_result = int(input(prompt))
except ValueError:
print("This is outside the range or invalid. Please enter again.")
continue
else:
break
return int_result
def employee_id_prompt():
input_employee_id = 0
found = False
index = 0
while True:
input_employee_id = check_int("Please enter your Employee ID number: ")
while found == False and index <= SIZE - 1:
if employee_id[index] == input_employee_id:
found = True
else:
index = index + 1
if found == True:
print("Welcome " + employee_name[index] + ". Your current pay rate is $", + employee_pay[index],
"an hour.")
break
else:
print("I'm sorry, that Employee ID number is not recognized.")
index = index + 1
employee_id_prompt()
這實際上不是一個很好的方式來構建數據,在三個列表中。在這種情況下,您應該使用某種記錄(對象,元組,名稱等)。 –
您可以[標記您的問題的最佳答案](https://stackoverflow.com/help/someone-answers)爲已接受。它有助於社區。 –