Py学习  »  Python

我需要用python从范围数中的一个减去另一个得到结果

Yevi22 • 4 年前 • 212 次点击  

嗨,我需要做一个代码来得到两个数字之间的结果。我的起始号码是1000。我想得到1000-500之间的所有数字,在一个理想的范围内,就像我在例子中给出的那样。

我需要一个数减去另一个数,而不是再减去一次,然后在数的范围内循环这个数。就像我给你举的例子。

1000-10=990比我需要的数字990-40=950以及循环到500的所有值都要多。我需要有代码来做这件事。

1000, 990
950, 940
900, 890
850, 840
800, 790
750, 740
700, 690
650, 640
600, 590
550, 540

我试过了

import math
x = 1000
y = 10
z = x-y
d = 40
print(x, z, sep=', ')

当我尝试射程时

for x in range(1000, 500, -40):
    print(x)

我明白了

1000
960
920
880
840
800
760
720
680
640
600
560
520

我不知道怎么把这两者混合起来得到我需要的东西。有人能告诉我怎么做吗?

Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/52863
 
212 次点击  
文章 [ 2 ]  |  最新文章 4 年前
desmond_jones
Reply   •   1 楼
desmond_jones    4 年前

您可以使用生成器函数。

def generate_numbers(start, end):
    n = start
    yield n
    while True:
        for step in (10, 40):
            n -= step
            if n < end: return
            yield n

用法:

for num in generate_numbers(1000, 500):
    print(num)

要列出值,请使用 list 上课。

list_nums = list(generate_numbers(1000, 50))
user9730851
Reply   •   2 楼
user9730851    4 年前
n = 1000
while n > 500:
    print(n, end=', ')
    n -= 10
    print(n)
    n -= 40