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