[英]why do I keep getting a bad input error on line five? are my variables alright? the declaration of function?
這是我的代碼
def computepay(h,r):
if h>40.0:
OT = 1.5*float(r)
p=OT
else:
ck = float(h)*float(r)
p=ck
return 'p'
hrs = input("Enter Hours:")
rate = input("Enter rate:")
h = float(hrs)
r = float(rate)
p = computepay(h,r)
print("Pay", p)
這是它需要填寫的參數 4.6 編寫一個程序來提示用戶輸入小時數和每小時費率,使用輸入來計算總工資。 工資應該是 40 小時以內的正常工資,所有工作時間超過 40 小時的小時工資應該是一個半小時。 將計算 pay 的邏輯放在名為 computepay() 的 function 中,並使用 function 進行計算。 function 應該返回一個值。 使用 45 小時和每小時 10.50 的費率來測試程序(工資應該是 498.75)。 您應該使用 input 讀取字符串並使用 float() 將字符串轉換為數字。 除非您願意,否則不要擔心錯誤檢查用戶輸入 - 您可以假設用戶正確鍵入數字。 不要命名變量 sum 或使用 sum() function。
這是給出的示例代碼
def computepay(h, r):
return 42.37
hrs = input("Enter Hours:")
p = computepay(10, 20)
print("Pay", p)
我已經嘗試過多次弄亂縮進,也完全刪除了 else 語句我可以得到一些建議嗎?
而不是在代碼的第 8 行中return 'p'
...類型return p
以便它返回變量而不是字符串。
def computepay(h,r):
if h > 40.0 :
reg = r * h
OT = (h - 40.0) * (r * 0.5)
p= reg + OT
else:
p = h * r
return p
hrs = input("Enter Hours:")
rate = input("Enter rate:")
fh = float(hrs)
fr = float(rate)
p = computepay(fh,fr)
print("Pay",p)
def computepay(h,r):
if h>40.0:
p = 40.0*r
p = p + (h-40.0)*1.5*r
else:
p = h*r
return p
hrs = input("Enter Hours:")
rate = input("Enter rate:")
h = float(hrs)
r = float(rate)
p = computepay(h,r)
print("Pay", p)
我的代碼:
def computepay():
mhours = (h - 40) * (r * 1.5) + uhours*r
return mhours
uhours = 40
try:
hours = input("Enter Hours please: ")
rate = input("Enter Rate per hours please: ")
h = float(hours)
r = float(rate)
if h <= uhours:
print('Pay', h * r)
elif h > uhours:
print('Pay', computepay())
except ValueError:
print('Please Enter a Number! not a word!')
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.