我有一些問題,同時調試一個程序,我正在設計採取整數用戶輸入的速度限制和車輛的速度,在我的violationCalculator
計算之前,用戶多少正在超速。Python速度違規計算器返回TypeError錯誤
我得到一個TypeError: unsupported operand type(s) for -: 'NoneType' and 'int'
,這是引用speedExcess = driverSpeed - designatedLimit
,與violationCalculator
舉行。
我有查明我已經錯了,希望得到一些指導的問題 -
def speedLimit():
designatedLimit = int(input("Please enter the designated speed limit: "))
while designatedLimit not in range(20, 70):
print("Invalid entry: please enter a valid speed limit (20-70)")
designatedLimit = int(input("Please enter the designated speed limit: "))
return designatedLimit
def vehicleSpeed(designatedLimit):
driverSpeed = int(input("Please enter the vehicle's speed: "))
while driverSpeed <= designatedLimit:
print("You were not speeding!")
driverSpeed = int(input("Please enter a valid vehicle speed: "))
return driverSpeed
def violationCalculator(designatedLimit, driverSpeed):
speedExcess = driverSpeed - designatedLimit
return speedExcess
def main():
welcomeSplash()
designatedLimit = speedLimit()
driverSpeed = vehicleSpeed(designatedLimit)
speedExcess = violationCalculator(designatedLimit, driverSpeed)
print("If you were travelling at", driverSpeed, "in a", designatedLimit,
"zone, then you were over the designated speed limit by", speedExcess)
main()
提示:試想,如果第一個'driverSpeed <= designatedLimit'測試失敗是什麼'vehicleSpeed'返回。 –
謝謝@ PM2Ring - 我不知道我是如何錯過這個的,特別是對於'speedLimit'完全相同的意圖。 – William
Sandeep已經把遊戲帶走了。 ;)現在看看你是否可以重寫'vehicleSpeed',以便它不重複'driverSpeed = int(input(「請輸入車速:」))' –