鱼C论坛

 找回密码
 立即注册
查看: 1799|回复: 2

[已解决]不知道该如何提问,进来看看吧

[复制链接]
发表于 2023-5-19 09:48:00 | 显示全部楼层 |阅读模式

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

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

x
n=5
ls=[]
for x in range(5):
    lst=[1,2,3,4,5,6,7,8,9]
    ls.append(lst)
for x in ls:
    print(x)    
'''
现在结果如下:
D:\wpp>D:/Python37/python.exe d:/wpp/test11.py
[1, 2, 3, 4, 5, 6, 7, 8, 9]
[1, 2, 3, 4, 5, 6, 7, 8, 9]
[1, 2, 3, 4, 5, 6, 7, 8, 9]
[1, 2, 3, 4, 5, 6, 7, 8, 9]
[1, 2, 3, 4, 5, 6, 7, 8, 9]
'''

'''
期待结果,请补全代码:
D:\wpp>D:/Python37/python.exe d:/wpp/test11.py
[0,0,0,0,1, 2, 3, 4, 5, 6, 7, 8, 9]   
[0,0,0,1, 2, 3, 4, 5, 6, 7, 8, 9,0]
[0,0,1, 2, 3, 4, 5, 6, 7, 8, 9,0,0]
[0,1, 2, 3, 4, 5, 6, 7, 8, 9,0,0,0]
[1, 2, 3, 4, 5, 6, 7, 8, 9,0,0,0,0]
'''
最佳答案
2023-5-19 09:48:39
您可以尝试以下代码实现期待结果:
n = 5ls = []for i in range(n):    lst = [0] * (n-i-1) + [j for j in range(1, 10)] + [0] * i    ls.append(lst)for x in ls:    print(x)
解释一下代码:

1. 首先定义了一个变量n,表示需要生成n行数据。
2. 然后定义一个空列表ls,用于存储生成的数据。
3. 接着使用for循环生成每一行数据,循环变量i表示当前是第几行。
4. 在循环中,首先生成一个长度为n-i-1的全0列表,表示每行前面的0的个数。
5. 然后使用列表生成式生成1到9的数字列表。
6. 最后再生成i个0,表示每行后面的0的个数。
7. 将每行生成的列表添加到ls中。
8. 最后使用for循环遍历ls,输出每一行数据。

希望这个解释能够帮助您理解代码的实现过程。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2023-5-19 09:48:39 | 显示全部楼层    本楼为最佳答案   
您可以尝试以下代码实现期待结果:
n = 5ls = []for i in range(n):    lst = [0] * (n-i-1) + [j for j in range(1, 10)] + [0] * i    ls.append(lst)for x in ls:    print(x)
解释一下代码:

1. 首先定义了一个变量n,表示需要生成n行数据。
2. 然后定义一个空列表ls,用于存储生成的数据。
3. 接着使用for循环生成每一行数据,循环变量i表示当前是第几行。
4. 在循环中,首先生成一个长度为n-i-1的全0列表,表示每行前面的0的个数。
5. 然后使用列表生成式生成1到9的数字列表。
6. 最后再生成i个0,表示每行后面的0的个数。
7. 将每行生成的列表添加到ls中。
8. 最后使用for循环遍历ls,输出每一行数据。

希望这个解释能够帮助您理解代码的实现过程。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2023-5-19 09:49:59 | 显示全部楼层
isdkz 发表于 2023-5-19 09:48
您可以尝试以下代码实现期待结果:

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

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-12-28 02:19

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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