Fury_Chen 2022-08-24 10:33 采纳率: 100%
浏览 34
已结题

Python print如何将竖排骰子打印成横排

Python print相关类问题 :

请问我现在有一些竖排的字符串内容请问如何能使用print语句将竖排内容横排打印:
比如用户输入[1,2,3]以下竖排骰子将可以横排打印出来


| |
| o |
| |



| |
| o o |
| |



| o |
| o |
| o |


  • 写回答

1条回答 默认 最新

  • 汤卓杰 2022-08-24 10:49
    关注
    1. 将字符串分成list,以\n分隔
    2. 所有list所有元素,得到最长的串max
    3. 遍历所有list所有元素,在字符后加空格,直到长度等于max+1
    4. 一个新list,每项都等于前面list的同索引元素相加
    5. list转字符串,用\n拼接
    max=0; #最长行str长度
    max2=0; #比较每项str行数,取最大行数
    strList=["| |\n| o |\n| |","| |\n| o o |\n| |","| o |\n| o |\n| o |1","测试不同行数的str\n2333"]
    for i in range(len(strList)):
        strList[i]=strList[i].split("\n")
        if max2<len(strList[i]):
            max2=len(strList[i]);
        for item in strList[i]:
            if max<len(item):
                max=len(item)
    
    for i in range(len(strList)):
        for j in range(len(strList[i])):
            l=len(strList[i][j]);
            strList[i][j]=strList[i][j]+" "*(max+1-l)
    
    list2=[None]*max2
    for i in range(max2):
        string=""
        for j in range(len(strList)):
            if len(strList[j])<(i+1):
                string+=" "*(max+1)
            else:
                string+=strList[j][i]
        list2[i]=string
    
    print("\n".join(list2))
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录

报告相同问题?

问题事件

  • 系统已结题 9月2日
  • 已采纳回答 8月25日
  • 创建了问题 8月24日

悬赏问题

  • ¥15 这种微信登录授权 谁可以做啊
  • ¥15 请问我该如何添加自己的数据去运行蚁群算法代码
  • ¥20 用HslCommunication 连接欧姆龙 plc有时会连接失败。报异常为“未知错误”
  • ¥15 网络设备配置与管理这个该怎么弄
  • ¥20 机器学习能否像多层线性模型一样处理嵌套数据
  • ¥20 西门子S7-Graph,S7-300,梯形图
  • ¥50 用易语言http 访问不了网页
  • ¥50 safari浏览器fetch提交数据后数据丢失问题
  • ¥15 matlab不知道怎么改,求解答!!
  • ¥15 永磁直线电机的电流环pi调不出来