鱼C论坛

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

[已解决]如何乱序输出

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

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

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

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

  2. num=0
  3. for x in range(4):
  4.     for y in range(3):
  5.        matrix[x][y]=num
  6.        num+=1
  7.        if num>9:
  8.         break

  9. for x in range(4):
  10.     for y in range(3):
  11.         if x==3 and y>0:
  12.             print("",end="")
  13.         else:
  14.             print("%4d"%matrix[x][y],end="")
  15.     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 小助理,如未能正确解答您的问题,请继续追问。
小甲鱼最新课程 -> https://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 小助理,如未能正确解答您的问题,请继续追问。
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

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

import ra ...

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

  1. import random

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

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

  11. print()
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

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

import random
...


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

以上回复来自 FishC AI 小助理,如未能正确解答您的问题,请继续追问。
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

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

以上回复来 ...

代码还能进一步优化
  1. import random

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

  6. for i in range(10):
  7.     print("%4d" % num_list[i], end="")
  8.     if (i+1) % 3==0 and i!=0:
  9.         print()
  10. print()
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

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

# 生成0-9的列 ...


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

以上回复来自 FishC AI 小助理,如未能正确解答您的问题,请继续追问。
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-7-12 19:36

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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