限制打印循环的字符

时间:2014-10-10 17:48:30

标签: python

这几乎是“bizz buzz”的事情,虽然我想让它每行打印10个单词或数字,并且在类似的程序中允许用户输入范围,并设置单词或数字的数量每行打印

for i in range (1,121):
   if i%3 == 0 and i%5 == 0 and i%7 == 0:
      print("zipzapzop") 
   elif i%3 == 0 and i%5 == 0:
      print("zipzap")
   elif i%3 == 0 and i%7 == 0:
      print("zipzop")
   elif i%3 == 0:
      print("zip")
   elif i%5 == 0:
      print("zap")
   elif i%7 == 0:
      print("zop")   
   else:
      print(i)

输出:

 1
2
zip
4
zap
zip
zop
8
zip
zap
11
zip
13
zop
zipzap
16
17
zip
19
zap
zipzop
22
23
zip
zap
26
zip
zop
29
zipzap
31
32
zip
34
zap
zip
37
38
zip
zap
41
zipzop
43
44
zipzap
46
47
zip
zop
zap
zip
52
53
zip
zap
zop
zip
58
59
zipzap
61
62
zipzop
64
zap
zip
67
68
zip
zap
71
zip
73
74
zipzap
76
zop
zip
79
zap
zip
82
83
zipzop
zap
86
zip
88
89
zipzap
zop
92
zip
94
zap
zip
97
zop
zip
zap
101
zip
103
104
zipzapzop
106
107
zip
109
zap
zip
zop
113
zip
zap
116
zip
118
zop
zipzap

这是我的输出,但我想让它每行打印10个数字或单词。我不知道该如何解决这个问题。

1 个答案:

答案 0 :(得分:0)

在if块之外你需要做

# bump number count
count += 1
# every 10 print a new line 
if count % 10 == 0
        print('')

然后你需要禁止换行正常打印出来。如何执行此操作取决于您使用的是哪个版本的python。如果您使用的是2.7.X,则可以使用

from __future__ import print_function

然后你会把你的版画更改为

print('zipzap',end=' ')