我是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的倍数。
答案 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)