如何编写一个程序,要求用户输入 2 个数字,然后在这些数字之间打印偶数列表



我正在使用JES。下面的函数将适用于我想要它做的事情,但它在答案中不包括 x 和 y。例如,如果我输入的第一个数字是 2,第二个数字是 8,则它只打印 4 和 6。我希望它打印 2、4、6、8。请帮忙!谢谢!

def main():
  x=input("Enter the first number:")
  y=input("Enter the second number:")
  i=0
  for i in range (x,y):
    if i%2==0:
      print i

很简单,问题在于,在 Python(以及扩展的 JES(中,range(x, y)xy-1 的步骤,包括。这允许它自然地模仿[]列表运算符的切片语法,即 [l[a] for a in range(x, y)]l[x:y]列表相同。(至于为什么切片和range都这样做,请参阅为什么范围(开始,结束(不包括结束?

因此,如果您希望x包含y,您只需将最后一个参数提高一个:

for i in range(x, y+1):

它应该打印出您想要的数字。

附言循环前的i=0是不必要的。for循环将初始化(并在必要时创建(变量i

print ",".join([str(i) for i in range(int(raw_input("Enter #1:")),
                                      int(raw_input("Enter #2:"))+1) if not i%2])

我想我做对了那些括号

或者,使用input较短但存在巨大的安全漏洞,通常应避免

print ",".join([str(i) for i in range(input("Enter #1:"),
                                      input("Enter #2:")+1) if not i%2])

和最短的(感谢nneonneo(

print str([x for x in range(input('1'), input('2')+1) if not x%2])[1:-1] 

最新更新