鱼C论坛

 找回密码
 立即注册
查看: 1356|回复: 8

[已解决]格式化输出问题

[复制链接]
发表于 2022-4-29 11:56:50 | 显示全部楼层 |阅读模式

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

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

x
这是改进我们的小游戏最后一讲双色球题目:
下面是我的写法,程序是有问题的。
import random
while True:
    z = random.randint(1,16)
    c = random.sample(range(1,34),k=6)
    print("开奖结果是:%d ,特别号码是:%d" % (*c, z))
    input("按任意键继续开奖")

我的才猜想是不是问题出在这行
 print("开奖结果是:%d ,特别号码是:%d" % (*c, z))

应该是格式化输出*C这里面包含了多个数子,而我用的是%d,去格式化应该是有问题的;
那么如果我要按照我这样的写法输出,该怎么做?
最佳答案
2022-4-29 12:03:27
本帖最后由 isdkz 于 2022-4-29 12:08 编辑

c 解包后有 6 个整数,所以要用 6 个 %d
import random
while True:
    z = random.randint(1,16)
    c = random.sample(range(1,34),k=6)
    print("开奖结果是:%d %d %d %d %d %d,特别号码是:%d" % (*c, z)) 
    input("按任意键继续开奖")

或者不解包,直接用 %s :
import random
while True:
    z = random.randint(1,16)
    c = random.sample(range(1,34),k=6)
    print("开奖结果是:%s,特别号码是:%d" % (c, z)) 
    input("按任意键继续开奖")
import random
while True:
    z = random.randint(1,16)
    c = random.sample(range(1,34),k=6)
    print("开奖结果是:%s,特别号码是:%d" % (' '.join(map(str, c)), z)) 
    input("按任意键继续开奖")
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2022-4-29 12:03:27 | 显示全部楼层    本楼为最佳答案   
本帖最后由 isdkz 于 2022-4-29 12:08 编辑

c 解包后有 6 个整数,所以要用 6 个 %d
import random
while True:
    z = random.randint(1,16)
    c = random.sample(range(1,34),k=6)
    print("开奖结果是:%d %d %d %d %d %d,特别号码是:%d" % (*c, z)) 
    input("按任意键继续开奖")

或者不解包,直接用 %s :
import random
while True:
    z = random.randint(1,16)
    c = random.sample(range(1,34),k=6)
    print("开奖结果是:%s,特别号码是:%d" % (c, z)) 
    input("按任意键继续开奖")
import random
while True:
    z = random.randint(1,16)
    c = random.sample(range(1,34),k=6)
    print("开奖结果是:%s,特别号码是:%d" % (' '.join(map(str, c)), z)) 
    input("按任意键继续开奖")

评分

参与人数 1荣誉 +2 鱼币 +2 收起 理由
lbf4325 + 2 + 2

查看全部评分

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

使用道具 举报

发表于 2022-4-29 12:03:42 From FishC Mobile | 显示全部楼层
不能用%d   就直接用连接吧
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-4-29 13:27:48 | 显示全部楼层
直接用字符串拼接,这么整就跟C没区别了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2022-4-29 16:01:04 | 显示全部楼层
wp231957 发表于 2022-4-29 12:03
不能用%d   就直接用连接吧
import random
while True:
    z = random.randint(1,16)
    c = random.sample(range(1,34),k=6)
    print("开奖结果是:",*c,"\n特别号码是:" ,z)
    input("按任意键继续开奖:")

大哥你说的是这个意思把!
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-4-29 16:02:23 From FishC Mobile | 显示全部楼层
lbf4325 发表于 2022-4-29 16:01
大哥你说的是这个意思把!

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

使用道具 举报

 楼主| 发表于 2022-4-29 16:06:14 | 显示全部楼层
isdkz 发表于 2022-4-29 12:03
c 解包后有 6 个整数,所以要用 6 个 %d

最后这个用法我去瞧瞧看。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2022-4-29 16:11:22 | 显示全部楼层

嗯谢谢提醒!忘了print函数的用法!
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2022-4-29 16:12:29 | 显示全部楼层
老八秘制 发表于 2022-4-29 13:27
直接用字符串拼接,这么整就跟C没区别了

没太明白你的意思 ,和楼上大哥说的是一个意思吗?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-11-18 14:42

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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