我正在通过zybooks上一门课,这里的空格有点不太好用。我不知道是什么造成了这个额外的空间,所以如果有任何帮助,我们将不胜感激。
这方面的说明:
美国主要州际公路编号为1-99。奇数(如5或95)向北/南,而偶数(如10或90)向东/西。辅助公路编号为100-999,并以最右边两位数表示主要公路的服务.因此,I-405服务I-5,I-290服务I-90.注: 200不是有效的辅助公路,因为00不是有效的主公路号码。
给定一个公路编号,说明它是主干道还是辅助公路。如果是辅助性的,说明它服务的主要公路是什么。还指出(主要的)公路是否北/南或东/西。
highway_number = int(input())
if highway_number == 0:
print(highway_number, 'is not a valid interstate highway number.')
if highway_number in range(1,99+1):
if highway_number % 2 == 0:
print('I-',highway_number,"is primary, going east/west.")
else:
print('I-',highway_number,"is primary, going north/south.")
else:
served = highway_number % 100
if highway_number >= 1000:
print(highway_number,'is not a valid interstate highway number.')
if highway_number in range(99,999+1):
if highway_number == 200:
print(highway_number,'is not a valid interstate highway number.')
elif highway_number % 2 == 0:
print('I-',highway_number,'is auxiliary, serving I-','%.f,'%served,'going east/west.')
else:
print('I-',highway_number,'is auxiliary, serving I-','%.f,'%served, 'going north/south.')

一切都正常工作,我只是在“I-”之后得到了额外的空间。
发布于 2022-11-01 13:00:22
这就是印刷术的原理。它增加了每个论点之间的空间。这就是为什么
print(1,2,3)打印1 2 3而不是123。
所以,大多数情况下,你想要那种行为。
话虽如此,你还是可以改变的
print(1,2,3, sep='')打印123
在您的情况下(还没有解决方案)
print("I-", highway_number,"is primary, going east/west.", sep='')但是,你看,现在你
I-90is primary, going east/west.所以,你看,你自己,你想要那个空间。只是不是到处都是。如果现在添加了sep='',则必须显式地添加所需的空格
print("I-",highway_number," is primary, going east/west.", sep='')另一种方法是打印一个f-字符串,在其中可以插入值。
print(f"I-{highway_number} is primary, going east/west.")或者混合
print(f"I-{highway_number}", "is primary, going east/west.")或者一些变体( python有多种方法打印包含值的字符串)
print("I-%d is primary, going east/west."%(highway_number,))print("I-{} is primary, going east/west.".format(highway_number))但最快和最简单的方法是f-string (它们也是最近的方法,这解释了为什么另一种存在,而不是那么简单和快速。再加上其他的方法可以做更多的事情,但与我们的情况无关)
发布于 2022-11-01 12:51:45
在print() python中,如果在变量之间添加,,默认情况下它会添加一个空格。为了避免这种情况,您可以用,更改+ (将变量类型更改为字符串)
print("Hi",".") # Hi .
print("Hi"+".") #Hi.或者,您也可以使用f-字符串来方便管理。
a = "."
print(f"Hi{a}") #Hi.
print("Hi{0}".format(a)) #Hi.发布于 2022-11-01 12:51:57
使用
print('I-',highway_number,"is primary, going east/west.", sep="")若要删除每个打印项之间添加的空间,请执行以下操作。sep是分隔符的缩写。更多细节:https://docs.python.org/3/library/functions.html#print
https://stackoverflow.com/questions/74276204
复制相似问题