150盏亮着的电灯,各有一个拉线开关控制,被顺序编号为1,2,3,4,…,150
def?turn(flag=None):
if?flag?==?'True':
flag?=?'False'
else:
flag?=?'True'
return?flag
a?=?[]
j?=?0
#初始化所有灯都是打开的
for?i?in?range(151):
a.append('True')
#第一次拉所有3的倍数的灯
for?i?in?range(3,151,3):
a[i]?=?turn(a[i])
#第二次拉所有5的倍数的灯
for?i?in?range(5,151,5):
a[i]?=?turn(a[i])
#输出所有还亮着的灯
for?i?in?range(1,151):
if?a[i]=='True':
print?a[i],
print?i,
j?=?j+1
print?'light?number?is'?,j
结果,所有亮着的灯:1 , 2 , 4 , 7 , 8 , 11 , 13 , 14 , 15 , 16 , 17 , 19 , 22 , 23 , 26 , 28 , 29 , 30 , 31 , 32 , 34 , 37 , 38 , 41 , 43 , 44 , 45 , 46 , 47 , 49 , 52 , 53 , 56 , 58 , 59 , 60 , 61 , 62 , 64 , 67 , 68 , 71 , 73 , 74 , 75 , 76 , 77 , 79 , 82 , 83 , 86 , 88 , 89 , 90 , 91 , 92 , 94 , 97 , 98 , 101 , 103 , 104 , 105 , 106 , 107 , 109 , 112 , 113 , 116 , 118 , 119 , 120 , 121 , 122 , 124 , 127 , 128 , 131 , 133 , 134 , 135 , 136 , 137 , 139 , 142 , 143 , 146 , 148 , 149 , 150
亮着的数量:light number is 90