如何让我的 for 循环遍历列表 test_cases 中的每个数字? [关闭]

Posted

技术标签:

【中文标题】如何让我的 for 循环遍历列表 test_cases 中的每个数字? [关闭]【英文标题】:How can I make my for loop run through every number in my list test_cases? [closed] 【发布时间】:2021-08-16 13:43:23 【问题描述】:

我在尝试运行我的代码 5 次以在标记为 test_cases 的列表中显示以下数字的因素时遇到了麻烦。如何使用最简单的 python 函数做到这一点而不会出错?

def generate_factors(y):
    for i in range(1, y + 1): 
        if y % i == 0:
            print(i, end=' ')

test_cases = [20, 31, 140, 222, 517]

for one_tc in test_cases:
    print(f'The factors are: ')
    generate_factors(test_cases)

【问题讨论】:

认为而不是generate_factors(test_cases)你想要generate_factors(one_tc) 你正在传递一个列表,test_casesgenerate_factors @alfinkel24 我真傻!谢谢! 【参考方案1】:

您将列表test_cases 指定为generate_factors 的输入,但它应该是整数one_tc。试试这个:

def generate_factors(y):
    for i in range(1, y + 1): 
        if y % i == 0:
            print(i, end=' ')

test_cases = [20, 31, 140, 222, 517]

for one_tc in test_cases:
    print(f'The factors are: ')
    generate_factors(one_tc)

【讨论】:

【参考方案2】:
def generate_factors(y):
    for i in range(1, y + 1): 
        if y % i == 0:
            print(i, end='\n')
    
    

test_cases = [20, 31, 140, 222, 517]

for one_tc in test_cases:
    print(f'The factors of: ',one_tc)
    generate_factors(one_tc)

【讨论】:

欢迎您。如果您觉得有用,请点赞此答案。 我还可以问与这个问题相关的另一件事吗?所以 20 的结果是 1、2、4、5、10、20。如何从中删除数字 1 和 20? 这应该是个新问题。

以上是关于如何让我的 for 循环遍历列表 test_cases 中的每个数字? [关闭]的主要内容,如果未能解决你的问题,请参考以下文章

python 如何在一个for循环中遍历两个列表

Python 3.5 遍历字典列表

使用 For Each 循环遍历列表时删除列表中的项目

为啥 for 循环不遍历列表中的每个项目?

如何在 Zoho CRM Deluge 脚本中使用 for each 循环遍历 JSON 数组

Python入门教程第34篇 列表遍历