程序逻辑替代方案。考虑以下代码,它使用while循环和found标志来搜索2的幂列表,将2的值提高到第五个幂(32)它存储在名为power.py的模块文件中。
L = [1, 2, 4, 8, 16, 32, 64]
X = 5
found = False
i = 0
while not found and i < len(L):
`if 2 ** X == L[i]:`
found = True
else:
i = i+1
if found:
('at index', i)
else:
print(X,'not found')
它要求我做的问题是一对夫妇,但第一个让我感到困惑,
a。)首先,使用while loop else子句重写代码,以消除found flag和final if语句。
请欣赏任何帮助。谢谢。
答案 0 :(得分:1)
Python附带batteries
使用index
方法:
L = [...]
try:
i = L.index(2**X)
print("idex: %d"%i)
except ValueError as err:
print("not found")
答案 1 :(得分:1)
L = [1, 2, 4, 8, 16, 32, 64]
X = 5
i = 0
while i < len(L):
if 2 ** X == L[i]:
print('at index',i)
break;
i = i+1
if i==len(L): print(X,'not found')