Primary U.S. interstate highways are numbered 1-99.
Odd numbers (like the 5 or 95) go north/south, and evens (like the 10 or 90) go east/west.
Auxiliary highways are numbered 100-999, and service the primary highway indicated by the rightmost two digits. Thus, I-405 services I-5, and I-290 services I-90.
Given a highway number, indicate whether it is a primary or auxiliary highway. If auxiliary, indicate what primary highway it serves. Also indicate if the (primary) highway runs north/south or east/west.
Ex: If the input is:
90
the output is:I-90 is primary, going east/west.
Ex: If the input is:290
the output is:I-290 is auxiliary, serving I-90, going east/west.
Ex: If the input is:0
the output is:0 is not a valid interstate highway number.
我的代码:
highway_number = int(input("Enter highway number: "))
# output if the highway is invalid
if ((highway_number <1) or (highway_number >999)):
print (' {} is not a valid highway number'.format (highway_number))
else: # valid
if (highway_number >99):
print ( ' I-{} is a auxillary highway '.format (highway_number))
# serves the primary interstate highway
primary_number = highway_number % 100
print (' serving I-{}'.format(primary_number))
else: # must be 1-99 and it is primary interstate highway
primary_interstate_highway = highway_number
print (' I-{} is a primary interstate highway'.format(highway_number))
# direction
if (primary_interstate_highway %2) == 0): #Event
print('going east/west')
else: #odd
print('going south/north')
这就是当前出现错误的地方
您的代码缺少
if
或elif
。基于Python语法,if statements
应该是这样的:因此,在代码中,您可以添加另一个
if
或编辑else
到elif
。或者正如其他人所指出的,您应该intend
使用else
语句。以下是代码和一些小补丁:缩进时要更加小心,因为缩进是4个空格,而不是3个空格或制表符
您根本不需要嵌套检查,因为每个部分都有自己的条件
您还可以为每个条件使用中间变量,这将使其更易于在最终输出中使用
请注意,每个
if
在同一垂直缩进线上都有一个(可选)匹配的else
现在试试看,你错过了一些缩进,还有闭括号和开括号,还有全局变量,我指的是外部范围
相关问题 更多 >
编程相关推荐