【发布时间】:2017-01-17 14:58:05
【问题描述】:
我有这个问题: 编写一个函数 is_member(),它接受一个值(即一个数字、字符串等)x 和一个值列表 a,如果 x 是 a 的成员,则返回 True,否则返回 False。 (请注意,这正是 in 运算符所做的,但为了练习,您应该假设 Python 没有此运算符。) 我的代码:
def is_member(a):
a = raw_input("Give a Number: ")
b = ['hallo', '120', 'me']
for i in a:
if a[i] == b:
return True
else:
return False
print is_member('a')
Mit IDLE 控制台,我来了:TypeError: string indices must be integers, not str. 问题出在哪里?? .非常感谢您的帮助!
【问题讨论】:
-
看文档,
raw_input返回什么类型?您如何将其转换为int? docs.python.org/2/library/functions.html#raw_input。for i in a应该做什么? -
通常当规范说函数“接受一个值”时,这意味着有问题的值作为其参数之一传递给函数。这让我相信这应该是两个参数的函数(没有
input调用) -
可能是
b[i] == a或if(a in b) -
@Arma 练习要求一个没有 IN 的值.....#
-
停止编辑您的问题,以免格式损坏。