关于计划:
自我解决方案1:
为了解决这个问题,我想出了这个解决方案。
1 for _ in [0]*int(input()):
2 s = input()
3 if len(s)>10:
4 print(f'{s[0]}{len(s)-2}{s[-1]}')
5 else:
6 print(s)
第4行中的打印语句正在使用格式进行打印。
自我解决方案2:
在这里,使用了新的变量l
来存储字符串的长度。在第4行中,print语句正在执行比较和串联。
1 for _ in [0]*int(input()):
2 s=input()
3 l=len(s)-2
4 print([s,s[0]+str(l)+s[-1]][l>8])
问题/疑问:
尽管这两个程序在显示的输出方面均能正常工作,但在
中推荐/首选该程序答案 0 :(得分:1)
Cylinder
首先,它接受用户(我们称之为for _ in [0]*int(input()):
s=input()
l=len(s)-2
print([s,s[0]+str(l)+s[-1]][l>8])
)的输入,然后创建一个长度为(n
)的零数组([0,0,...,0]
)
然后遍历该数组。在每个步骤中,它都需要来自用户(n
)的字符串输入。然后计算出s
,它等于s减去2的长度。
然后它创建一个列表,如下所示:
列表的第一个元素是l
(用户输入)本身
第二个元素是一个字符串,它由s
的第一个字母+ s
的值+ l
的最后一个字母组成。例如,如果s
,则列表的第二个元素将是s = 'apple'
。
最后,它检查条件:如果a3e
大于8,则返回第二个元素,否则返回l
本身。
因此它缩短了s
:
例如:
输入:s
->输出:apple
输入:apple
-> a long string more than 8 characters