Python 使用范围以间隔显示数字

Python 使用范围以间隔显示数字,python,range,Python,Range,我对python非常陌生,我刚刚尝试了一些简单的程序,目前我正在尝试制作一个程序,在用户输入的间隔内显示所有偶数。我有它的工作,但我想我有一个逻辑错误,我不能弄清楚。 如果我使用间隔2-8,我的程序将打印 2 2 4 4 4 4 6 6 6 6 6 6 我的代码是: startingnumber = int(input("Please enter a starting even number:")) if startingnumber%2==0: endingnumber = int(

我对python非常陌生,我刚刚尝试了一些简单的程序,目前我正在尝试制作一个程序,在用户输入的间隔内显示所有偶数。我有它的工作,但我想我有一个逻辑错误,我不能弄清楚。 如果我使用间隔2-8,我的程序将打印

2
2
4
4
4
4
6
6
6
6
6
6
我的代码是:

startingnumber = int(input("Please enter a starting even number:"))
if startingnumber%2==0:
    endingnumber = int(input("Please enter an ending number:"))
else:
    print("Please eneter an even number")

for num in range(startingnumber,endingnumber):
        for i in range(num):
            if (num%2) ==0:
                print(num)
谁能帮我找出我的错误吗? 谢谢

不要这样做

for num in range(startingnumber,endingnumber):


你有一个不需要的额外循环。

那不行。假设用户给定的字符为偶数。OP已经在进行(基本)检查,以查看输入是否为偶数<范围(1,6,2)内的i的代码>打印i确实打印
1,3
。如果他们想输出
1,3,5
,他们必须在末尾加1number@muddyfishOP写道他想要偶数。是否有理由显示2而不显示8(即间隔是[2,8[),或者应该是[2,8]所以也显示8?理想情况下也应该显示8,但我想这将是我的下一个任务;)。您可以通过在endnumber@muddyfish啊,好的,谢谢你的邀请pointer@Wadicus这是一个解决办法,但如果它是一个干净的解决方案,是值得怀疑的。
Just use a step of 2:

range(start, end, step)

#This is not suggestible way to code in Python, but it gives a better understanding


numbers = range(1,10)

even = []

for i in numbers:

     if i%2 == 0:

       even.append(i)
print (even)
for num in range(startingnumber,endingnumber):
            if (num%2) ==0:
                print(num)
Just use a step of 2:

range(start, end, step)

#This is not suggestible way to code in Python, but it gives a better understanding


numbers = range(1,10)

even = []

for i in numbers:

     if i%2 == 0:

       even.append(i)
print (even)