Python 将此while循环转换为更高效的while循环
我正在尝试用最简单的方法解决这个问题,我是一个初学者,这是我被问到的问题和代码: 程序逻辑选择。考虑下面的代码,它使用while循环并找到标志来搜索2的幂的列表,其中2的值被提升到第五个幂(32),它存储在一个名为POWE.P.< /P>的模块文件中。Python 将此while循环转换为更高效的while循环,python,python-3.x,Python,Python 3.x,我正在尝试用最简单的方法解决这个问题,我是一个初学者,这是我被问到的问题和代码: 程序逻辑选择。考虑下面的代码,它使用while循环并找到标志来搜索2的幂的列表,其中2的值被提升到第五个幂(32),它存储在一个名为POWE.P.< /P>的模块文件中。 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]:`
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')
L=[1,2,4,8,16,32,64]
X=5
发现=错误
i=0
当未找到且i
它要我做的是一对夫妇,但第一个问题让我困惑
a、 )首先,用while-loop-else子句重写代码,以消除find标志和final if语句
谢谢你的帮助。谢谢 Python附带了
使用索引方法:
L = [...]
try:
i = L.index(2**X)
print("idex: %d"%i)
except ValueError as err:
print("not found")
L=[1,2,4,8,16,32,64]
X=5
i=0
而我
#1在未找到变量的情况下重写代码#2重写代码,使only if语句位于while循环内(这必须作为#1的结果来完成)。。。允许您使用函数吗?这个问题不属于吗?这是完成手头工作的方法,但这似乎不是问题的答案(“首先,使用else-while循环子句,…”)谢谢,这正是我要寻找的,唯一的问题是break是否算作else子句?要合并while语句的else子句,请将最后一行代码更改为“else:print(X,'notfound')”
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')