是什么导致第一个代码块工作,而第二个代码块返回语法错误?

2024-05-19 10:52:30 发布

您现在位置:Python中文网/ 问答频道 /正文

我在一个网站上练习Python时遇到了问题,我的程序在第9行返回了一个语法错误,但是在网站上提供的问题的示例答案上,我的程序中的同一行代码没有错误。只是好奇是什么导致了我的程序出现问题?问题的关键是从两个列表中提取数字,从列表一中找到偶数,从列表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行有语法错误。你知道吗


Tags: 代码程序列表for网站numevenodd
2条回答

你有一个等号,这是赋值,不能在if语句中完成。你知道吗

你需要两个等号,就像原来的一样。你不需要帕伦斯:

if num % 2 == 0:
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) 最后,必须使用外部参数调用函数。你知道吗

相关问题 更多 >

    热门问题