首先发布在这里,所以请放轻松。
我的python类已暂时停留在这个程序上一段时间了,我不确定我需要做什么才能继续。
我在运行create_commission()
函数时遇到错误。我很确定这是因为我不应该使用count[]
但不确定我应该使用什么。我将离开我的教授伪代码,它显示以下内容:
create_commission(s_list)
create c_list
for every person list in s_list
create s_comm list
s_comm[0] = person[0]
s_comm[1] = person[1]
s_comm[2] = find_commission(person[2])
append s_comm to c_list
return c_list
我不确定我应该在person[]
点放置什么。
任何和所有帮助将不胜感激!
SENTINEL = 'XX'
def main():
sales_force = []
commission = []
sales_force = create_sales_force()
commission = create_commission(sales_force)
def create_sales_force():
s_force = []
last_name = input("Employee's Last Name (xx to quit): ")
while last_name.upper() != SENTINEL:
first_name = input("Employee's First Name: ")
valid_sales_amount = False
while not valid_sales_amount:
try:
sales_amount = float(input("Sales Amount: "))
except ValueError:
print("-- INVALID SALES AMOUNT --")
else:
if 0 <= sales_amount <= 50000:
valid_sales_amount = True
else:
print("**INVALID SALES AMOUNT**")
print("Number must be between 0 and 50,000")
sales_person_list = [last_name, first_name, sales_amount]
s_force.append(sales_person_list)
last_name = input("Employee's Last Name (xx to quit): ")
return s_force
def create_commission(s_list):
c_list = []
for count in range(0, len(s_list)):
s_comm = []
s_comm[0] = count[0]
s_comm[1] = count[1]
s_comm[2] = find_commission(count[2])
c_list.append(s_comm)
return c_list
def find_commission(sales_amt):
if sales_amt <= 5000:
return sales_amt * .08
elif 5000 < sales_amt <= 10000:
return sales_amt * .11
elif 10000 < sales_amt <= 18000:
return sales_amt * .14
elif 18000 < sales_amt <= 50000:
return sales_amt * .18
main()
答案 0 :(得分:0)
变量count
是int
,您无法为int
编制索引。
我认为您尝试做的是为每位员工创建一个列表c_list
的条目。
您可以做的是使用count
作为列表s_list
的索引,例如:
def create_commission(s_list):
c_list = []
for count in range(0, len(s_list)):
s_comm = []
s_comm.append(s_list[count][0])
s_comm.append(s_list[count][1])
s_comm.append(find_commission(s_list[count][2]))
c_list.append(s_comm)
return c_list
请注意,s_comm
最初为空,因此您必须append
该组件的新组件,并且您无法直接索引它们(它们在append
新数据之前不存在)
此外,无需使用函数range
和len
,您可以使用
def create_commission(s_list):
c_list = []
for e in s_list:
s_comm = []
s_comm.append(e[0])
s_comm.append(e[1])
s_comm.append(e[2])
c_list.append(s_comm)
return c_list