我是一名学生,我的任务之一是根据随机生成的数字绘制乌龟。以下代码类似于该任务。
def aaa():
numbers = []
for number_list in range(2):
bbb = randint(1, 6)
numbers.append(bbb)
我的假设是创建一个if/elif
链,以确定对生成的每个数字采取何种操作,如下所示。但是,我遇到了麻烦,因为aaa
函数不是list
。
if aaa == 1:
print('a')
if aaa == 2:
print('b')
if aaa == 3:
print('c')
if aaa == 4:
print('d')
if aaa == 5:
print('e')
if aaa == 6:
print('f')
答案 0 :(得分:1)
您必须从函数返回一个值。之后,您必须遍历列表。
mask1 = df['Id'].isin(df.loc[df['Col_1'].str.contains('aa'), 'Id'])
mask2 = df['Id'].isin(df.loc[df['Col_1'].str.contains('bb'), 'Id'])
df['New_Column'] = np.select([mask1, mask2], ['aa','bb'],'')
print (df)
Id Col_1 New_Column
0 1 aaa aa
1 1 ccc aa
2 2 bbb bb
3 3 aa aa
答案 1 :(得分:0)
aaa是一个函数,而不是列表。您需要调用aaa,让它返回列表,然后遍历列表。
def aaa():
numbers = []
for number_list in range(2):
bbb = randint(1, 6)
numbers.append(bbb)
return numbers
numbers = aaa()
for number in numbers:
if aaa == 1:
print('a')
elif aaa == 2:
print('b')
elif aaa == 3:
print('c')
elif aaa == 4:
print('d')
elif aaa == 5:
print('e')
elif aaa == 6:
print('f')
答案 2 :(得分:0)
您的函数需要缩进,以便解释器知道哪些行属于该函数。
您想从函数中获取包含数字的列表,因此请从函数中返回列表numbers
。
调用函数时,您需要添加方括号(否则将只获得函数对象)。
而不是使用多个if
,而是将elif
用于所有if
的行为是最佳实践
您需要迭代从函数aaa()
返回的列表中的所有元素。
您的总体代码应如下所示:
def aaa():
numbers = []
for number_list in range(2):
bbb = randint(1, 6)
numbers.append(bbb)
return numbers
for number in aaa():
elif number == 1:
print('a')
elif number == 2:
print('b')
elif number == 3:
print('c')
elif number == 4:
print('d')
elif number == 5:
print('e')
elif number == 6:
print('f')