3 回答

TA貢獻(xiàn)1828條經(jīng)驗(yàn) 獲得超3個(gè)贊
您可以簡單地使用list.index()列表的方法。無需遍歷所有內(nèi)容。
emp_name = input("gimmie name: ") # Weiss
idx = name.index(emp_name) # 99% of the work is done right here.
print('{n} worked {h} hours at ${w:.2f} per hour, and earned ${p:.2f}'.format(
n = name[idx],
h = hours[idx],
w = float(wage[idx]), # Convert to float so you can show 2 decimals for currency
p = float(wage[idx]) * hours[idx] # Calculate pay here
))
#Weiss worked 38.0 hours at $14.80 per hour, and earned $562.40

TA貢獻(xiàn)1921條經(jīng)驗(yàn) 獲得超9個(gè)贊
您可以使用[Python 3]: enumerate ( iterable, start=0 ):
names = ['Sanchez', 'Ruiz', 'Weiss', 'Choi', 'Miller', 'Barnes']
wages = ['10.0', '18', '14.80', '15', '18', '15']
hours = [42.0, 41.5, 38.0, 21.5, 21.5, 22.5]
def name_index(name_list, search_name):
for index, item in enumerate(name_list):
if item == search_name:
return index
return -1
emp_name = input("gimmie name: ")
idx = name_index(names, emp_name)
if idx == -1:
print("Name {:s} not found".format(emp_name))
else:
wage = float(wages[idx])
hour = hours[idx]
print("{:s} worked {:.2f} hours at $ {:.2f} per hour earning $ {:.2f} ".format(names[idx], hour, wage, wage * hour))

TA貢獻(xiàn)1725條經(jīng)驗(yàn) 獲得超8個(gè)贊
如果您的向量具有相同的長度,則使用range。
for i in range(0,len(name),1):
payOut = float(wage[i]) * float(hours[i])
product = (name[i], wage[i], payOut)
print(product)
添加回答
舉報(bào)