2017-11-04 1 views
1

정수 제한을 입력하고 차량 속도를 입력하도록 설계 한 프로그램을 디버깅하는 동안 몇 가지 문제가 발생합니다. 내 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() 
+0

힌트는 동안 내부입니다. –

+0

감사합니다 @ PM2Ring - 나는 이것을 놓쳤다. 특히 speedLimit에 대한 동일한 의도 프로파일을 가지고있다. – William

+0

Sandeep이 게임을 멀리하고 있습니다. ;) 이제'vehicleSpeed'를 다시 쓰지 말고'driverSpeed ​​= int (input ("차량 속도를 입력하십시오 :"))' –

답변

1

-

내가 잘못 될 몇 가지 지침을 부탁드립니다 곳 식별 문제가 발생하고있다. 첫 번째`driverSpeed ​​<= designatedLimit` 테스트가 실패 할 경우`vehicleSpeed` 반환 생각해보십시오 : 당신은 반환하기 때문에 때로는 아무것도 반환하지 않는 것은

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 

이 확인 지금

+0

Sandeep을 고맙습니다! – William

+0

도움이 된 것을 기쁘게 생각합니다. https://stackoverflow.com/help/someone-answers –

+0

에 따라 게시물을 업데이트하십시오. - 시간이 지나기를 기다리고 있었기 때문에 대답을 표시 할 수 있습니다 :) – William