我正在為我的編程課準備我的第一場考試。我不知道如何在嵌套回圈中呼叫和求和給定索引的值。我需要將每位員工的工資以及每位員工的作業時間加在一起。這些值在 [employee_records] 中嵌套為 [record],分別作為索引 2 和 3。任何幫助將不勝感激!
這是我得到的錯誤:
line 54, in <module>
for y in record[2]:
TypeError: 'float' object is not iterable
代碼如下:
num_employees = int(input("Enter number of salespersons to be evaluated: "))
numNums = num_employees
employee_records = []
wage = None
lrange = [1, 2, 3, 4]
while num_employees > 0:
record = []
name = (input("Enter employee name: "))
try:
level = int(input("Enter this employee's level: "))
if level not in lrange:
print("Employee level must be from 1 to 4. Please re-enter employee's name.")
if numNums < num_employees:
num_employees = 1
continue
except ValueError:
print("Employee level must be from 1 to 4. Please re-enter employee's name.")
if numNums < num_employees:
num_employees = 1
continue
try:
hours = float(input("Enter hours worked by this employee: "))
except ValueError:
print("Entry must be a number. Please re-enter employee's name.")
if numNums < num_employees:
num_employees = 1
continue
try:
sales = float(input("Enter revenue generated by this employee: "))
except ValueError:
print("Entry must be a number. Please re-enter employee's name.")
if numNums < num_employees:
num_employees = 1
continue
num_employees -= 1
record.append(name.capitalize())
record.append(level)
record.append(hours)
record.append("${:,.2f}".format(sales))
employee_records.append(record)
print(employee_records)
totalsales = None
totalhours = None
for x in employee_records:
for y in record[2]:
totalhours = y
for y in record[3]:
totalsales = y
print(totalhours)
print(totalsales)
uj5u.com熱心網友回復:
您不需要嵌套回圈。直接使用欄位即可。但是,您不應將銷售額格式化為字串。您需要原始數字才能進行數學運算。列印時格式化它,而不是之前。
record.append(name.capitalize())
record.append(level)
record.append(hours)
record.append(sales)
employee_records.append(record)
print(employee_records)
totalsales = None
totalhours = None
for x in employee_records:
totalhours = record[2]
totalsales = record[3]
print(totalhours)
print(totalsales)
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/348125.html
