题目
需要把一个由小写字母构成的字符串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}") 阅读程序回答:
(1)
上述程序代码,若输入的s=“bbbaa”,那么最后一行宽度为。
(2)
加框处代码有误,请改正。
(3)
补充横线两处代码。
①②
答案: 【1】8
s=input("s:")
【1】ord(i)-97【2】width[index]