需要把一个由小写字母构成的字符串s中的字符从左到右写入行中。每行最大宽度为20,如果往后新写一个字符导致该行宽度超过20,则写入下一行。
注意:每个字符的宽度不为1。给定一个列表width,其中width[0]是字符“a”的宽度,width[1] 是字符“b”的宽度,...,width[25]是字符'z'的宽度。
如图:输入字符串“aabbb”,“a”的宽度为 4, “b”的宽度为 6,所以“aabb”长度为
4+4+6+6=20写入第一行,最后一个”b”长度为6写入第二行。最后程序输出内容为“写入字符串s共需2行,最后一行宽度为:6”。
pythont程序如下:
width = [4,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6]
s =int( input("s:"))
L=0
count=1
for i in s:
index= ①
L=L+width[index]
if L>20:
L= ②
count+=1
print("小写字母宽度列表width为:")
print(width)
print(f"写入字符串s共需{count}行,最后一行宽度为:{L}")
阅读程序回答: