为了账号安全,请及时绑定邮箱和手机立即绑定

如何缩短或清理此 python 代码?

如何缩短或清理此 python 代码?

鸿蒙传说 2022-06-22 18:37:34
我有一个家庭作业,要编写一个程序,该程序将高速公路编号作为输入,并输出高速公路是主要还是辅助,走向东/西,北/南,如果是辅助,它服务的主要高速公路是什么。这是我的代码,它给了我满分,但我是初学者,必须有更短的方法来编写它。有人介意清理一下吗?highway_number = int(input())if highway_number >= 1 and highway_number <= 99:    prim = 'is primary,'    if (highway_number % 2) == 0:        print('The', highway_number, prim, 'going east/west.')    else:        print('The', highway_number, prim, 'going north/south.')elif highway_number >= 100 and highway_number <= 999:    aux = 'is auxiliary,'    if (highway_number % 2) == 0:        print('The', highway_number, aux, 'serving the %d, going east/west.' % (highway_number%100))    else:        print('The', highway_number, aux, 'serving the %d, going north/south.' % (highway_number%100))else:    print(highway_number, 'is not a valid interstate highway number.')这里有 290 个输出:The 290 is auxiliary, serving the 90, going east/west.
查看完整描述

1 回答

?
繁华开满天机

TA贡献1816条经验 获得超4个赞

用于


1) 链式比较


2) f弦


3) 利用 0/1 的布尔值的内联 if 语句


使代码更短


highway_number = int(input())


if 1 <= highway_number <= 99:

    direction = 'east/west' if highway_number % 2 else 'north/south'

    print(f'The {highway_number} is primary, going {direction}')

elif 100 <= highway_number <= 999:

    direction = 'north/south' if highway_number % 2 else 'east/west'

    print(f'The {highway_number} is auxiliary, serving the {highway_number%100}, going {direction}')

else:

    print(highway_number, 'is not a valid interstate highway number.')


查看完整回答
反对 回复 2022-06-22
  • 1 回答
  • 0 关注
  • 115 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号