2016-09-12 14 views
-2
# ABC Inc., Gross Pay Calculator! 
# Enter employee's name or 0 to quit : Nathan 
# Enter hours worked : 35 
# Enter employee's pay rate : 10.00 
# Employee Name : Nathan 
# Gross Pay: 350.0 
# Enter next employee's name or 0 to quit : Toby 
# Enter hours worked : 45 
# Enter employee's pay rate : 10 
# Employee Name : Toby 
# Gross Pay : 475.0 
# (overtime pay : 75.0) 
# Enter next employee's name or 0 to quit : 0 
# Exiting program... 

「プログラムを終了しています」という出力を0にして終了するにはどうすればよいですか?0を入力してプログラムを終了させるにはどうすればいいですか?

print('ABC inc., Gross Pay Calculator!') 
name = input("Enter employee's name or 0 to quit:") 
hours = float(input("Enter hours worked:")) 
payrate = float(input("Enter employee's pay rate:")) 
print("Employee Name:", name) 
grosspay = hours * payrate 
print("Gross pay:", grosspay) 
if hours > 40: 
print("(Overtime pay:", (hours - 40) * payrate * 1.5) 
while name!=0: 
    name = input("Enter next employee's name or 0 to quit:") 
    hours = float(input("Enter hours worked:")) 
    payrate = float(input("Enter employee's pay rate:")) 
    print("Employee Name:", name) 
    grosspay = hours * payrate 
    print("Gross pay:", grosspay) 
    if hours > 40: 
     print("(Overtime pay:", (hours - 40) * payrate*1.5) 
else: 
    print ('Exiting program...') 
+2

'while name!=" 0 "'。 'input'は文字列を返します。 –

+3

[入力をPythonで整数として読み取るにはどうすればいいですか?](http://stackoverflow.com/questions/20449427/how-can-i-read-inputs-as-integers-in-python) –

答えて

0

このようなコードを繰り返さないでください。代わりにwhile True:と条件付きbreakを適切な場所として使用してください。これは、Pythonの標準的な「ループとハーフ」のイディオムです。

print('ABC inc., Gross Pay Calculator!') 
while True: 
    name = input("Enter employee's name or 0 to quit:") 
    if name == '0': 
     print ('Exiting program...') 
     break 
    hours = float(input("Enter hours worked:")) 
    payrate = float(input("Enter employee's pay rate:")) 
    print("Employee Name:", name) 
    grosspay = hours * payrate 
    print("Gross pay:", grosspay) 
    if hours > 40: 
     print("(Overtime pay:", (hours - 40) * payrate * 1.5) 

私は「何もない」と、プロンプトで「0」に置き換えると、テストif not name:を作るが、これはマイナーな問題であるでしょう。

関連する問題