所以,我自学了一些关于蟒蛇的知识,而且我一直在阅读"范围"现在大约2天了,但我似乎无法弄清楚如何解决这个问题:
我想编写一个程序,在询问一些问题之后打印出给定范围内的偶数列表......
问题是:
所以我开始这样:
def main():
numbers = int(input("How many numbers are in the list: "))
lowest = int(input("Please enter the lowest range value to start with: "))
highest = int(input("Please enter the highest range value to end with: "))
for i in range (lowest, highest+2, 2):
print (i)
main ()
我知道这是错的,数字变量没有任何作用,因为我没有指定它做任何事情。还有一堆其他的东西
基本上我想让程序做的是:
打印输出应为2,4,6,8,10,12 - 从输入的最低值到最高值输入的总共6个数字。
同样,如果输入的信息是
我想要返回一些错误,因为用户超过数字长度,因为选择是5。
答案 0 :(得分:1)
def main():
numbers = int(input("How many numbers are in the list "))
lowest = int(input("Please enter the lowest range value to start with: "))
highest = int(input("Please enter the highest range value to end with "))
if (highest+2 - lowest)/2 == numbers:
for i in range (lowest,highest+2,2 ):
print (i)
else:
print ('no coinciden los numeros, vuelve a intentarlo')
main ()
这有帮助吗?
答案 1 :(得分:0)
如果您想在用户输入不一致的输入时抛出错误(即请求的数量与范围内的预期数字不匹配),您可以进行显式检查并exit
如果检查错误不通过。
from sys import exit
def main():
numbers = int(input("How many numbers are in the list "))
lowest = int(input("Please enter the lowest range value to start with: "))
highest = int(input("Please enter the highest range value to end with "))
if len(range (lowest,highest+2,2 )) != numbers:
print("The number of numbers requested is unexpected!")
exit(1)
for i in range (lowest,highest+2,2 ):
print (i)
main ()
答案 2 :(得分:0)
如果你对一个神秘版本感兴趣,请点击这里:
limit = 4
min_val = 3
max_val = 22
# output: 4, 6, 8, 10
print(
", ".join(
str(j) for i, j in
enumerate(
range(
min_val + (0 if min_val % 2 == 0 else 1),
max_val + 2,
2
)
)
if i < limit
)
)
高尔夫可以单线:
print(", ".join(str(j)for i,j in enumerate(range(min_val+(0if min_val%2==0 else 1),max_val+2,2))if i<limit))
从min_val
开始(+1,如果它是奇数,则为偶数)并以max_val
结束,除非之前达到最大计数limit
。生成器表达式用于数字并连接到字符串,元素由,
分隔。
使用常规for循环不那么神秘:
limit = 4
min_val = 3
max_val = 22
if min_val % 2 != 0:
min_val += 1
for i, j in enumerate(range(min_val, max_val + 2, 2)):
if i >= limit:
break
print(j)