| 
 | 
 
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册  
 
x
 
 本帖最后由 Peteryo01223 于 2020-9-23 11:46 编辑  
 
原题目: 
有四个数字,1,2,3,4,他们能组成多少的相互不同的三位数,各是多少? 
 
答案: 
i =0 
for x in range(1,5): 
    for y in range(1,5): 
        for z in range(1,5): 
            if (x!=y) and (y!=z) and (z!=x): 
                i+=1 
                if i%4: 
                    print('%d%d%d'%(x,y,z), end=' ') 
                else: 
                    print('%d%d%d'%(x,y,z)) 
                 
 
输出结果: 
123 124 132 134 
142 143 213 214 
231 234 241 243 
312 314 321 324 
341 342 412 413 
421 423 431 432 
 
我的问题: 
1. 这个优美的4个就换一行,是怎么出现的?为何没有看到‘\n’的字样呀?难道是因为 end 就代表行末尾?所以就自动换行了? 
2. 每行的4个数字之间的间距,为什么由 end=' '来决定呢? 这一行,不是仅仅针对  if i%4 的数字么?
- i =0
 
 - for x in range(1,5):
 
 -     for y in range(1,5):
 
 -         for z in range(1,5):
 
 -             if (x!=y) and (y!=z) and (z!=x):
 
 -                 i+=1
 
 -                 if i%4:
 
 -                     print('%d%d%d'%(x,y,z), end=' ')
 
 -                 else:
 
 -                     print('%d%d%d'%(x,y,z)) # 最后这里没有end=" "所以就是会换行了(因为i%4 =0的时候,if判断为假,所以是执行这句)
 
  复制代码 
 
 
 |   
 
 
 
 |