Python &引用;SyntaxError:can';t分配给字面意义的“;for循环的错误
我正在尝试运行教授给我的一些代码,这些代码应该可以在列表中找到一个项目,并计算出现的次数。但当我尝试运行它时,会出现一个错误,上面写着“SyntaxError:can't assign to literal”。代码如下:Python &引用;SyntaxError:can';t分配给字面意义的“;for循环的错误,python,python-3.x,syntax,Python,Python 3.x,Syntax,我正在尝试运行教授给我的一些代码,这些代码应该可以在列表中找到一个项目,并计算出现的次数。但当我尝试运行它时,会出现一个错误,上面写着“SyntaxError:can't assign to literal”。代码如下: def function(list_of_coins): count=0 for i in list_of_coins: if(i == 'Dime'): count = count+1 return(count)
def function(list_of_coins):
count=0
for i in list_of_coins:
if(i == 'Dime'):
count = count+1
return(count)
list_of_coins = ["Penny","Dime","Dime","Nickel","Dime","Penny","Dime"]
print("count: ",function(list_of_coins))
non_dime_list = [1 for 1 in list_of_coins if 1!="Dime"]
print(non_dime_list)
您在这里有一个错误
[1代表硬币列表中的1,如果1!=“Dime”]
它应该是[i为i,如果i!=“Dime”]
你说的地方
non_dime_list = [1 for 1 in list_of_coins if 1!="Dime"]
您将1视为变量,但变量不能以数字开头。你必须把它换成
non_dime_list = [i for i in list_of_coins if i!="Dime"]
我还建议您稍微重写代码,以获得相关的函数名,并删除多余的括号
def count_dimes(lst):
count = 0
for i in lst:
if i == 'Dime':
count += 1
return count
list_of_coins = ["Penny", "Dime", "Dime", "Nickel", "Dime", "Penny", "Dime"]
print("count: ", count_dimes(list_of_coins))
non_dime_list = [i for i in list_of_coins if i != "Dime"]
print(non_dime_list)