【问题标题】:limiting characters printed for loop限制为循环打印的字符
【发布时间】:2014-10-10 17:48:29
【问题描述】:

这几乎是“嗡嗡声”的事情,虽然我想让它每行打印 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 个数字或单词。我不知道该怎么做。

【问题讨论】:

    标签: python


    【解决方案1】:

    在 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=' ')
    

    【讨论】:

    • so 在我的 for 语句之前设置 count,并在每个 if-elif 下包含 count+1 和 if count % 10 == 0 print('')?
    • 我会将count +=1 放在你最后的else 之后(而且只有一次),与原始if 的缩进相同
    猜你喜欢
    • 2022-01-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-09-07
    • 1970-01-01
    • 1970-01-01
    • 2023-03-16
    相关资源
    最近更新 更多