新手python简单程序报错求解
defthreshold(a,c):b=[]forxina:b.extend(a[x]>=c)printb输入一个数字列表将里面比c大的重新输出。报错是TypeError...
def threshold(a,c):
b = []
for x in a:
b.extend(a[x] > = c)
print b
输入一个数字列表将里面比c大的重新输出。报错是TypeError: 'bool' object is not iterable
为什么?怎么改?求高手指导一下。谢谢 展开
b = []
for x in a:
b.extend(a[x] > = c)
print b
输入一个数字列表将里面比c大的重新输出。报错是TypeError: 'bool' object is not iterable
为什么?怎么改?求高手指导一下。谢谢 展开
4个回答
展开全部
def threshold(a,c)
b = [num for num in a if num >= c]
print b
b = [num for num in a if num >= c]
print b
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
a[x]>=c 返回的是TRUE OR FALSE吧?
for x in a
if x<c
x=c
b.extend(x)
for x in a
if x<c
x=c
b.extend(x)
追问
我知道了。我找你的修改了一下。还有错误
def threshold(a,c):
b = []
for x in a:
if a[x] >= c:
t = a[x]
b.extend(t)
print b
劳驾再看看 if a[x] >= c:这行
IndexError: list index out of range
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
for x in a: 语句中x是a中的元素,而不是下标(索引),应该直接使用x和c比较;
a[x] > = c 的结果是bool值,按题意不应该添加到b。
程序建议改为:
def threshold(a,c):
b = []
for x in a:
if x>=c:
b.extend(x)
print b
a[x] > = c 的结果是bool值,按题意不应该添加到b。
程序建议改为:
def threshold(a,c):
b = []
for x in a:
if x>=c:
b.extend(x)
print b
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询