【问题标题】:How can I make my for loop run through every number in my list test_cases? [closed]如何让我的 for 循环遍历列表 test_cases 中的每个数字? [关闭]
【发布时间】: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 我真傻!谢谢!

标签: python python-3.x list for-loop user-defined-functions


【解决方案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?
    • 这应该是个新问题。
    猜你喜欢
    • 2014-11-09
    • 2023-03-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-07-27
    • 1970-01-01
    • 2023-03-09
    相关资源
    最近更新 更多