试试这个:
for a in range(1, 101):
print(f"{'Jack' if not a % 3 else ''}{'Pot' if not a % 5 else ''}{a if a % 3 and a % 5 else ''}")
它使用f字符串在花括号内打印Python表达式.
'Jack' if not a % 3 else ''
只在not a % 3
时打印Jack,换句话说,如果a % 3
为零.'Pot'
如果not a % 5
也一样.
第三组花括号打印a if a % 3 and a % 5 else ''
,换句话说,如果a % 3
或a % 5
均不为零,则打印a
.
输出为:
1
2
Jack
4
Pot
Jack
7
8
Jack
Pot
11
Jack
13
14
JackPot
16
17
Jack
19
Pot
Jack
22
23
Jack
Pot
26
Jack
28
29
JackPot
31
32
Jack
34
Pot
Jack
37
38
Jack
Pot
41
Jack
43
44
JackPot
46
47
Jack
49
Pot
Jack
52
53
Jack
Pot
56
Jack
58
59
JackPot
61
62
Jack
64
Pot
Jack
67
68
Jack
Pot
71
Jack
73
74
JackPot
76
77
Jack
79
Pot
Jack
82
83
Jack
Pot
86
Jack
88
89
JackPot
91
92
Jack
94
Pot
Jack
97
98
Jack
Pot
如果你想要更简短的东西,这里有一个单行程序,它基本上做相同的事情,但在列表中有for循环迭代:
[print(f"{'Jack' if not a % 3 else ''}{'Pot' if not a % 5 else ''}{a if a % 3 and a % 5 else ''}") for a in range(1,101)]