为了账号安全,请及时绑定邮箱和手机立即绑定

有问题请教

print [100*m+10*n+m for m in range(1,9) for n in range(1,9)]

请问这个代码为什么输出结果不对呢?

正在回答

3 回答

print '================'#分割之前代码
for n1 in range(1,10):#range创建一个序列长度为1到10并以此为根据进行循环,n1变量记录每次循环值
    for n2 in range(10):#与上面的作用相同,但刺水range创建的序列只规定了长度所以是range的长度是从0开始到10结束
        for n3 in range(10):#同上
            if n1==n3:#比较变量n1与n3如果相同就输出结果
                print n1*100+n2*10+n3#此处计算为作用是将三个数以百位,十位,个位的顺序排列组合


0 回复 有任何疑惑可以回复我~

n in range(0,10)

n 可以为0

0 回复 有任何疑惑可以回复我~

你这个改成print [100*m+10*n+m for m in range(1,10) for n in range(0,10)]就对了,因为range取得到前面的取不到后面的

0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
初识Python
  • 参与学习       758625    人
  • 解答问题       8667    个

学python入门视频教程,让你快速入门并能编写简单的Python程序

进入课程

有问题请教

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信