鱼C论坛

 找回密码
 立即注册
查看: 2210|回复: 12

[已解决]请大神帮忙,代码打出的数据对齐问题!

[复制链接]
发表于 2020-8-17 20:05:26 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
我的程序运行后有时候就会出现不对齐的情况有什么解决方法?
import random
print("---------------谷小伟制作的双色球摇奖程序--------------")
i = 1
while i < 100000000000:
    d = input("请输入摇奖次数,开始摇奖:")
    print()
    if d.isdigit():
        times = int(d)
        if times < 100000000000:
            while times > 0:
                red = random.sample(range(1, 34), 6)
                blue = random.randint(1, 16)
                print("红色开奖号码是:", *red, "\t" ,"蓝色开奖号码是:", blue)
                print()
                times -= 1
        else:
            print("抱歉,您输入的次数有误!")        
    else:
        print("抱歉,您输入的不是数字,麻烦您输入一个整数!")
    i += 1        

print("游戏结束!")
最佳答案
2020-8-18 04:25:47
试一下这个
import random
print("---------------谷小伟制作的双色球摇奖程序--------------")
i = 1
while i < 100000000000:
    d = input("请输入摇奖次数,开始摇奖:")
    print()
    if d.isdigit():
        times = int(d)
        if times < 100000000000:
            while times > 0:
                red = random.sample(range(1, 34), 6)
                str_red = []
                for each in red:
                    each = str(each)
                    if len(each) == 1:
                        each = '0'+each
                    str_red.append(each)
                blue = random.randint(1, 16)
                print("红色开奖号码是:", *str_red, "\t" ,"蓝色开奖号码是:", blue)
                print()
                times -= 1
        else:
            print("抱歉,您输入的次数有误!")        
    else:
        print("抱歉,您输入的不是数字,麻烦您输入一个整数!")
    i += 1        

print("游戏结束!")

对齐不整

对齐不整
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2020-8-17 20:10:00 | 显示全部楼层
两个 TAB 就对齐了。
import random
print("---------------谷小伟制作的双色球摇奖程序--------------")
i = 1
while i < 100000000000:
    d = input("请输入摇奖次数,开始摇奖:")
    print()
    if d.isdigit():
        times = int(d)
        if times < 100000000000:
            while times > 0:
                red = random.sample(range(1, 34), 6)
                blue = random.randint(1, 16)
                print("红色开奖号码是:", *red, "\t\t" ,"蓝色开奖号码是:", blue)
                print()
                times -= 1
        else:
            print("抱歉,您输入的次数有误!")        
    else:
        print("抱歉,您输入的不是数字,麻烦您输入一个整数!")
    i += 1        

print("游戏结束!")
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-8-17 21:59:04 | 显示全部楼层

还是一样的,打的次数多了一样出现这种情况,突然就出现一个不对齐的。

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-8-17 22:14:56 | 显示全部楼层
深山小兽 发表于 2020-8-17 21:59
还是一样的,打的次数多了一样出现这种情况,突然就出现一个不对齐的。

没有更好的办法了。如果有,那就再多加几个 TAB。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-8-17 22:54:08 | 显示全部楼层
永恒的蓝色梦想 发表于 2020-8-17 22:14
没有更好的办法了。如果有,那就再多加几个 TAB。

好的,谢谢
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-8-18 04:25:47 | 显示全部楼层    本楼为最佳答案   
试一下这个
import random
print("---------------谷小伟制作的双色球摇奖程序--------------")
i = 1
while i < 100000000000:
    d = input("请输入摇奖次数,开始摇奖:")
    print()
    if d.isdigit():
        times = int(d)
        if times < 100000000000:
            while times > 0:
                red = random.sample(range(1, 34), 6)
                str_red = []
                for each in red:
                    each = str(each)
                    if len(each) == 1:
                        each = '0'+each
                    str_red.append(each)
                blue = random.randint(1, 16)
                print("红色开奖号码是:", *str_red, "\t" ,"蓝色开奖号码是:", blue)
                print()
                times -= 1
        else:
            print("抱歉,您输入的次数有误!")        
    else:
        print("抱歉,您输入的不是数字,麻烦您输入一个整数!")
    i += 1        

print("游戏结束!")
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 1 反对 0

使用道具 举报

发表于 2020-8-18 09:07:50 | 显示全部楼层
本帖最后由 newoay 于 2020-8-18 09:14 编辑
import random
print("---------------谷小伟制作的双色球摇奖程序--------------")
i = 1
while i < 100000000000:
    d = input("请输入摇奖次数,开始摇奖:")
    print()
    if d.isdigit():
        times = int(d)
        if times < 100000000000:
            while times > 0:
                red = random.sample(range(1, 34), 6)
                red_f= ['%2d' %x for x in red]
                blue = random.randint(1, 16)
                blue_f='%2d' %blue
                print("红色开奖号码是:",*red_f, "\t" ,"蓝色开奖号码是:", blue_f)
                print()
                times -= 1
        else:
            print("抱歉,您输入的次数有误!")        
    else:
        print("抱歉,您输入的不是数字,麻烦您输入一个整数!")
    i += 1        

print("游戏结束!")


想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 1 反对 0

使用道具 举报

发表于 2020-8-18 09:09:15 | 显示全部楼层
本帖最后由 newoay 于 2020-8-18 09:16 编辑


等级不够,就没法上图了。

有个疑问,python自带IDLE下运行正常,在vscode里显示就不正常了。
希望大佬解答
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-8-18 14:28:43 | 显示全部楼层

谢谢
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-8-18 14:29:20 | 显示全部楼层

谢谢,解决了,排列很整齐。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-8-18 14:29:56 | 显示全部楼层

谢谢,你的方法让我学到了新知识!
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-8-18 16:56:05 | 显示全部楼层
newoay 发表于 2020-8-18 09:09
等级不够,就没法上图了。

有个疑问,python自带IDLE下运行正常,在vscode里显示就不正常了。

因为空格的大小在各种终端上显示是不一样的
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-8-18 19:41:51 | 显示全部楼层
永恒的蓝色梦想 发表于 2020-8-18 16:56
因为空格的大小在各种终端上显示是不一样的

啊,这么坑,那在VS code上就看不出效果了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-1-11 06:53

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表