Python 2.7 循环问题甚至算数
我有一个初学者的问题。循环对我来说非常难理解,所以我来寻求帮助 我正在尝试创建一个函数来计算用户输入列表中偶数的数量,在列表的末尾显示负数。我知道我需要使用while循环,但是我很难弄清楚如何遍历输入列表的索引。这就是我目前所拥有的,有人能帮我一下吗Python 2.7 循环问题甚至算数,python-2.7,Python 2.7,我有一个初学者的问题。循环对我来说非常难理解,所以我来寻求帮助 我正在尝试创建一个函数来计算用户输入列表中偶数的数量,在列表的末尾显示负数。我知道我需要使用while循环,但是我很难弄清楚如何遍历输入列表的索引。这就是我目前所拥有的,有人能帮我一下吗 def find_even_count(numlist): count = 0 numlist.split() while numlist > 0: if numlist % 2 == 0: count += 1 re
def find_even_count(numlist):
count = 0
numlist.split()
while numlist > 0:
if numlist % 2 == 0:
count += 1
return count
numlist = raw_input("Please enter a list of numbers, with a negative at the end: ")
print find_even_count(numlist)
我使用拆分来分离列表的索引,但我知道我做错了什么。有谁能指出我做错了什么,或者给我一个很好的一步一步的解释,告诉我该怎么做?
非常感谢你们,我知道你们可能在技能水平上还有更多的事情要做,但感谢你们的帮助 你很接近,只是几处更正:
def find_even_count(numlist):
count = 0
lst = numlist.split()
for num in lst:
if int(num) % 2 == 0:
count += 1
return count
numlist = raw_input("Please enter a list of numbers, with a negative at the end: ")
print find_even_count(numlist)
我使用了for循环而不是while循环,将
numlist.split()
的结果存储到一个变量(lst)中,然后对其进行迭代。您有几个问题:
numlist
,但不将结果列表分配给任何对象numlist
进行操作,它仍然是所有数字的字符串def find_even_count(numlist):
count = 0
for numstr in numlist.split(): # iterate over the list
num = int(numstr) # convert each item to an integer
if num < 0:
break # stop when we hit a negative
elif num % 2 == 0:
count += 1 # increment count for even numbers
return count # return the total
(注意:如果用户试图通过在“最终”负数后添加更多数字来欺骗您,例如使用numlist=“1 2-1 3 4”
),则一行程序将失败。)
如果您必须使用while
循环(这并不是该作业的最佳工具),它将如下所示:
def find_even_count(numlist):
index = count = 0
numlist = list(map(int, numlist.split()))
while numlist[index] > 0:
if numlist[index] % 2 == 0:
count += 1
index += 1
return count
numberst
未定义。请发布你正在使用的代码这就是我正在使用的,我想我的mac电脑试图自动更正,“打印查找偶数”中的“数字”应该是“numlist”等等,伙计们,我正在尝试回应。我正在尝试保持一段时间的循环,因为这是练习的重点。你们很有天赋谢谢你们反应这么快。。。我正在查看你的两个答案,我发现我从来没有给任何东西分配分割def find_even_count(numberst):
count=0
nums=int(numlist)
nums=nums.split()
numlist=raw_input(“请输入一个数字列表,末尾带负数:”)
打印find_even_count(numberst)
我一直得到“无效的int文本,以10为基数…”。。。我正在尝试将拆分的numlist转换为整数。编辑:我找不到switch@Loomiss您必须将int
应用于拆分后的每个项目
;您不能直接将例如“12-3”
转换为int
。我添加了一个基于while的实现示例。
def find_even_count(numlist):
index = count = 0
numlist = list(map(int, numlist.split()))
while numlist[index] > 0:
if numlist[index] % 2 == 0:
count += 1
index += 1
return count