程序在用户指​​定的范围内打印5的倍数

时间:2019-07-03 17:22:26

标签: python

我是python的新手,我试图编写代码来确定用户指定范围内5的所有倍数。我让代码以5为单位上升。例如,如果范围是6和21,则将说倍数是6,11,16,21。

a = int(input("Enter a value of a : "))
b = int(input("Enter a vlue of b : "))

if a%5 ==0:
    a = a+5

multiples = []

for value in range(a, b+1,5):
    multiples.append(value)

print(multiples)

我希望只打印5的倍数。

3 个答案:

答案 0 :(得分:0)

您可以在if语句中添加以下内容:

else:            # if it isn't a multiple of 5
    a += (5-a%5) # add enough to get to the next multiple of 5

答案 1 :(得分:0)

我认为您需要找到input1的提醒,然后开始循环使用该提醒

    a = int(input("Enter a value of a : "))

    b = int(input("Enter a vlue of b : "))

    c=a%5 #reminder

    multiples = []

    for value in range(a+5-c, b+1,5):
       multiples.append(value)

    print(multiples)

答案 2 :(得分:0)

如果您期望的6到21范围的输出是[10, 15, 20],则可以像使用if a % 5 == 0一样首先测试起始点是否是5的倍数,如果是,则我们将可以重复添加5,直到达到范围的终点,同时将所有步骤附加到输出列表中。

但是,如果a % 5 == 0为假,那么我们需要找到要添加到该起始点的值,以便我们可以在该范围内获得5的第一个倍数,即

diff = 5 - a % 5

并将此值添加到起点a,我们得到第一个值:

first = a + diff

然后我们可以重复加5,直到达到范围的终点。

将以上所有内容放入代码中:

# get user input for the range a to b
a = int(input("Enter a value of a : "))
b = int(input("Enter a value of b : "))

output_list = []

# determine first value
if a % 5 == 0: 
    first_val = a
else: 
    first_val = a + (5 - (a % 5))

# go through the range between the first value and the end, with step=5
for val in range(first_val, b + 1, 5):
    # append value to the list
    output_list.append(val)

print(output_list)