我正在网站上练习Python,但我的程序在第9行返回了语法错误,但是在网站上提供的问题的示例答案中,同一行代码在我的程序中正在正常工作。只是好奇是什么导致了我的程序中的问题?问题的关键是从2个列表中取出数字,从列表1中找到偶数,并从列表2中找到奇数,并使用偶数和奇数创建第三个列表。我将其更改为从两者中找到偶数和奇数,并从列表一和列表二中提取了一个偶数和奇数列表,但是我认为它仍然可以工作...
Python的新手。甚至不确定该尝试什么。
def mergeList(listOne, listTwo):
thirdList = []
for num in listOne:
if(num % 2 != 0):
thirdList.append(num)
for num in listTwo:
if(num % 2 == 0):
thirdList.append(num)
return thirdList
print("Merged List is")
listOne = [10, 20, 23, 11, 17]
listTwo = [13, 43, 24, 36, 12]
print(mergeList(listOne, listTwo))
list1 = [81, 71, 61, 34, 55]
list2 = [14, 19, 48, 32, 91]
def mergelist(list1, list2):
mergedlist = list1 + list2
even = []
odd = []
for num in mergedlist:
if (num % 2 = 0):
even.append(num)
else:
odd.append(num)
print("even: " + even)
print("odd: " + odd)
我的程序应将列表1和2合并为一个列表“ mergedlist”,然后在列表中搜索偶数并将其附加到偶数列表。非偶数,奇数应附加到奇数列表中。然后最后打印偶数和奇数列表。我的程序说第9行出现语法错误。
答案 0 :(得分:1)
您有一个等号,它是赋值,不能在if语句中完成。
您需要两个等号,如原始号一样。而且您不需要括号:
if num % 2 == 0:
答案 1 :(得分:-2)
list1 = [81, 71, 61, 34, 55]
list2 = [14, 19, 48, 32, 91]
def mergelist(list1, list2):
mergedlist = list1 + list2
even = []
odd = []
for num in mergedlist:
if num % 2 == 0:
even.append(num)
else:
odd.append(num)
print("even:", even)
print("odd:", odd)
mergelist(list1, list2)
以上代码是您代码的有效版本,并进行了以下更正
1)如上一个答案所述,您需要在if条件下使用关系/比较运算符“ ==”来代替赋值运算符“ =”。
2)else和以下语句的缩进是错误的。
3)列表无法连接,因此应使用代替+
4)最后,您必须使用参数outside调用函数。