实验室:州际公路号码

2024-04-29 10:25:39 发布

您现在位置:Python中文网/ 问答频道 /正文

我的任务是编写一个程序,将公路编号作为输入,并输出公路是主路还是辅路,向东/西、北/南,如果是辅路,它服务的是哪条主路。这是我的密码:

highway_number = int(input(''))

if highway_number >= 1 and highway_number <= 99:
    prim = 'is primary,'
    if (highway_number % 2) == 0:
        print('I-', highway_number, prim, 'going east/west.')
    else:
        print('I-', highway_number, prim, 'going north/south.')
elif highway_number >= 100 and highway_number <= 999:
    aux = 'is auxiliary,'
    if (highway_number % 2) == 0:
        print('I-', highway_number, aux, 'serving I- %d, going east/west.' % (highway_number%100))
    else:
        print('I-', highway_number, aux, 'serving I- %d, going north/south.' % (highway_number%100))
else:
    print(highway_number, 'is not a valid interstate highway number.')

但如果我运行它。它在“I-”和公路编号之间添加了一个空格Screenshot


Tags: andnumberifiselse编号printwest
2条回答

您的问题在于打印的部分:使用print(string, string)写出两个单独的Sting,python默认情况下将用空格分隔。您必须附加字符串,这可以由+print(string + string)轻松完成。确保首先使用str(toparse)解析数字等

对于第二部分,打印I-和它的数字之间的空格,因为在字符串中有一个空格I- %d。你必须把它改成I-%d

希望这有帮助:D

完整地

highway_number = int(input(''))

if highway_number >= 1 and highway_number <= 99:
    prim = 'is primary,'
    if (highway_number % 2) == 0:
        print('I-' + str(highway_number), prim, 'going east/west.')
    else:
        print('I-' + str(highway_number), prim, 'going north/south.')
elif highway_number >= 100 and highway_number <= 999:
    aux = 'is auxiliary,'
    if (highway_number % 2) == 0:
        print('I-' + str(highway_number), aux, 'serving I-%d, going east/west.' % (highway_number%100))
    else:
        print('I-' + str(highway_number), aux, 'serving I-%d, going north/south.' % (highway_number%100))
else:
    print(highway_number, 'is not a valid interstate highway number.')

试试这个

print('I-'+str(highway_number), prim, 'going east/west.')

print('I-'+ str(highway_number), aux, 'serving I-%d, going east/west.' % (highway_number%100))

相关问题 更多 >