2017-02-13 143 views
-4

試圖找到一種方法來找到總體基本工資,總佣金和全部支付給該部門所有員工的問題。到目前爲止,我有這樣的代碼:找到所有變量的總和?

employee = str(1) 

numbemployee = input('How many employees are there in your department? ') 

while numbemployee < str(0): 
    print('The number of employees cannot be less than zero!') 
    numbemployee = int(input('How many employees are there in your department? ')) 

while employee <= numbemployee: 
    name = str(input('What is the name of employee ' +employee +'? ')) 
    employee = str(int(employee) + 1) 
    totalyears = int(input('How many years has ' +name +' worked for the company? ')) 
    while totalyears < 0: 
     print('The number of years worked cannot be less than zero!') 
     totalyears = int(input('How many years has ' +name +' worked for the company? ')) 
    if totalyears <= 6: 
     base_salary = 10000.00 
     print('The base salary for ' ,name ,' should be $' ,base_salary) 
    elif totalyears <= 13: 
     base_salary = 14000.00 
     print('The base salary for ' ,name ,' should be $' ,base_salary) 
    elif totalyears <= 20: 
     base_salary = 18000.00 
     print('The base salary for ' ,name ,' should be $' ,base_salary) 
    elif totalyears <= 34: 
     base_salary = 27000.00 
     print('The base salary for ' ,name ,' should be $' ,base_salary) 
    else: 
     base_salary = 30000.00 
     print('The base salary for ' ,name ,' should be $' ,base_salary) 
    sales = float(input('What was ' +name +"'s sales for the last quarter? ")) 
    while sales < 0: 
     print('The sales cannot be less than zero!') 
     sales = float(input('What was ' +name +"'s sales for the last quarter? ")) 
    if sales <= 3999.99: 
     commission = 1000 
     print(name ,'earned $' ,commission ,'from commission for sales from last quarter') 
    elif sales <= 11999.99: 
     commission = 2000 
     print(name ,'earned $' ,commission ,'from commission for sales from last quarter') 
    elif sales <= 15999.99: 
     commission = 5000 
     print(name ,'earned $' ,commission ,'from commission for sales from last quarter') 
    elif sales <= 23999.99: 
     commission = 8000 
     print(name ,'earned $' ,commission ,'from commission for sales from last quarter') 
    elif sales <= 27999.99: 
     commission = 12000 
     print(name ,'earned $' ,commission ,'from commission for sales from last quarter') 
    else: 
     commission = 15000 
     print(name ,'earned $' ,commission ,'from commission for sales from last quarter') 
    totalwage = base_salary + commission 
    print(name ,'should recieve $' ,totalwage ,' for this quarter.') 

我無法找到部門中所有員工的總基薪。所有員工的總佣金和全部工資都相同。有誰知道我會怎麼做?

+3

爲什麼你將你的輸入轉換爲int,然後將它與'str(0)'比較?也可以考慮把'僱員'變成一個班級或至少一本字典...... – MooingRawr

+0

這個「問題」需要進一步完善。你想做什麼?什麼是僞代碼?發生了什麼,你不指望? – Nathan

+0

可以通過一個簡單的例子和​​解釋你嘗試過的東西來把它變成一個有用的問題。請參閱http://stackoverflow.com/help/mcve – chadnt

回答

0

你有一堆問題與你的代碼 - 這很好,這顯然是一個學習問題。

爲了總結所有基本工資,獎金等,您將必須創建一個累加器這些和的變量。現在,你有員工細節的變量。您需要添加一些變量從一個員工處理累積總數下一:

accum_total_salary = 0 
accum_total_commission = 0 

while ... 

    base_salary = ... 

    commission = ... 

    accum_total_salary += base_salary 
    accum_total_commission += commission 

最後,外循環,當你處理完所有工作信息,您可以打印您的累積數字:

print("Sum total salary paid to all employees:", accum_total_salary) 
print("Sum total commission paid to all employees:", accum_total_commission) 
+0

代碼無法正常工作的很大一部分是錯誤地將東西轉換爲應該是數字的「str」。 – roganjosh

相關問題