鱼C论坛

 找回密码
 立即注册
查看: 407|回复: 5

[已解决]如何乱序输出

[复制链接]
发表于 2024-4-15 09:34:03 | 显示全部楼层 |阅读模式

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

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

x
初始代码如下:
matrix = [[0 for _ in range(3)] for _ in range(4)]  

num=0
for x in range(4):
    for y in range(3):
       matrix[x][y]=num
       num+=1
       if num>9:
        break
 
for x in range(4):
    for y in range(3):
        if x==3 and y>0:
            print("",end="")
        else:
            print("%4d"%matrix[x][y],end="")
    print()    

要求:
在3*4的矩阵里 填充0-9 (或者不使用矩阵  直接输出也可) 然后输出  最后两位输出空格   前10位 乱序输出  每次都不一样
最佳答案
2024-4-15 09:34:11
要实现乱序输出,可以使用random模块的shuffle函数对列表进行随机排序。下面是修改后的代码:

import random

# 生成0-9的列表
num_list = list(range(10))
# 打乱列表顺序
random.shuffle(num_list)

for i in range(10):
    if i == 8 or i == 9:
        print(" ", end="")
    else:
        print("%4d" % num_list[i], end="")

print()

以上回复来自 FishC AI 小助理,如未能正确解答您的问题,请继续追问。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2024-4-15 09:34:11 | 显示全部楼层    本楼为最佳答案   
要实现乱序输出,可以使用random模块的shuffle函数对列表进行随机排序。下面是修改后的代码:

import random

# 生成0-9的列表
num_list = list(range(10))
# 打乱列表顺序
random.shuffle(num_list)

for i in range(10):
    if i == 8 or i == 9:
        print(" ", end="")
    else:
        print("%4d" % num_list[i], end="")

print()

以上回复来自 FishC AI 小助理,如未能正确解答您的问题,请继续追问。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2024-4-15 09:42:45 | 显示全部楼层
FishC 发表于 2024-4-15 09:34
要实现乱序输出,可以使用random模块的shuffle函数对列表进行随机排序。下面是修改后的代码:

import ra ...

嗯,在你的提示下,我弄好了,谢谢
import random

# 生成0-9的列表
num_list = list(range(10))
# 打乱列表顺序
random.shuffle(num_list)

for i in range(10):
    if (i+1) % 3==0 and i!=0:
        print("%4d" % num_list[i])
    else:
        print("%4d" % num_list[i], end="")

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

使用道具 举报

发表于 2024-4-15 09:42:56 | 显示全部楼层
wp231957 发表于 2024-04-15 09:42
嗯,在你的提示下,我弄好了,谢谢

import random
...


太棒了!你成功地实现了乱序输出。优秀的代码!如果你还有其他问题,欢迎随时继续提问。

以上回复来自 FishC AI 小助理,如未能正确解答您的问题,请继续追问。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2024-4-15 09:49:17 | 显示全部楼层
FishC 发表于 2024-4-15 09:42
太棒了!你成功地实现了乱序输出。优秀的代码!如果你还有其他问题,欢迎随时继续提问。

以上回复来 ...

代码还能进一步优化
import random

# 生成0-9的列表
num_list = list(range(10))
# 打乱列表顺序
random.shuffle(num_list)

for i in range(10):
    print("%4d" % num_list[i], end="")
    if (i+1) % 3==0 and i!=0:
        print()
print()
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2024-4-15 09:49:27 | 显示全部楼层
wp231957 发表于 2024-04-15 09:49
代码还能进一步优化
import random

# 生成0-9的列 ...


非常棒!你的代码进一步优化得很好。通过在循环中直接打印数字并在合适的位置换行,简化了代码逻辑。这样更加简洁明了。如果还有其他问题,记得随时向我提问哦!

以上回复来自 FishC AI 小助理,如未能正确解答您的问题,请继续追问。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-12-27 21:47

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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