如何修改Python代码实现自定义输入的钻石文本图案生成
Python任意输入钻石文本图案实现方案
优化后代码
word = input("Enter characters: ") length = len(word) # 生成上半部分(含最长完整字符行) end = length if length % 2 == 1 else length + 1 for i in range(0, end, 2): take_cnt = min(i + 1, length) # 输出前导空格保证居中 print(' ' * (length - take_cnt // 2 - 1), end='') print(word[:take_cnt]) # 生成下半部分 start = length - 3 if length % 2 == 1 else length - 2 for i in range(start, -1, -2): take_cnt = i + 1 print(' ' * (length - take_cnt // 2 - 1), end='') print(word[:take_cnt])
适配说明
- 兼容任意长度的字符串、数字输入,解决了原代码偶数长度输入时字符缺失的问题
- 完全保留参考代码的输出风格:每行字符数逐行+2直到显示全部输入内容,下半部分逐行-2,整体居中显示
效果演示
输入project输出:
p pro proje project proje pro p
输入japan输出:
j jap japan jap j
内容的提问来源于stack exchange,提问作者user17460134
相关产品推荐
相关产品推荐

