【问题标题】:Given number n. Print numbers from 2 to n, next to each number write its divisors (except for the number itself)给定数字 n。打印从 2 到 n 的数字,在每个数字旁边写下它的除数(数字本身除外)
【发布时间】:2022-01-10 08:06:18
【问题描述】:

给定数字 n。打印从 2 到 n 的数字,在每个数字旁边写下它的除数(数字本身除外)。

例如对于 n = 6(正确输出):

2 - 1

3 - 1

4 - 1, 2

5 - 1

6 - 1、2、3

我自己解决了这个问题,或者更确切地说,我可以找到每个数字的除数,但困难来自于结论。这是我的代码:

n = int(input("Введите число: "))
for i in range(2,n+1):
    for j in range(1,i):
        if i % j ==0:
            print(f'{i} - {j}')

我的输出:

2 - 1

3 - 1

4 - 1

4 - 2

5 - 1

6 - 1

6 - 2

6 - 3

我不知道如何解决这个问题。请您在不知道我的输出错误与哪个主题相关的情况下提出建议,我该如何解决?

【问题讨论】:

    标签: python-3.x loops


    【解决方案1】:

    默认情况下,print() 在末尾放置一个换行符。所以在你的情况下你必须忽略这个换行符。

    n = int(input("Введите число: "))
    for i in range(2,n+1):
        print(f'{i} -', end = '')
        for j in range(1,i):
            if i % j ==0:
                print(f' {j}', end = '')
        print()
    

    【讨论】:

    • 数字之间也必须有逗号。我也没弄明白
    • 好吧,我不能为你做所有事情。你必须自己尝试。这应该很容易。 @本
    • 我在哪里可以看到我提出的问题?
    • 哪个问题? @本
    • 如何使数字之间也有逗号。如果这对您来说似乎很简单,那么对我来说这是一个难以理解的话题。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-01-03
    • 1970-01-01
    • 1970-01-01
    • 2019-02-04
    • 2022-08-06
    • 1970-01-01
    相关资源
    最近更新 更多