Santosh Kumar <sntshkm...@gmail.com> writes: > This simple script is about a public transport, here is the code: > > def report_status(should_be_on, came_on): > if should_be_on < 0.0 or should_be_on > 24.0 or came_on < 0.0 or > came_on > 24.0: > return 'time not in range' > elif should_be_on == came_on: > return 'on time' > elif should_be_on > came_on: > return 'early' > elif should_be_on < came_on: > return 'delayed' > else: > return 'something might be wrong' > > print(report_status(123, 12.0)) > > I am looking forward of make the line starting with `if` short. > > Any tips are welcome.
A double tip: if (not (0.0 <= should_be_on <= 24.0) or not (0.0 <= came_on <= 24.0)): ... You might want to raise an exception from the range-check branch instead of returning a value. And raise an exception from the else-branch, because that branch should never be reached. -- http://mail.python.org/mailman/listinfo/python-list