我的Python不返回3、4、5、6、7,似乎它不起作用。

12 浏览
0 Comments

我的Python不返回3、4、5、6、7,似乎它不起作用。

我想让Python返回3,4,5,6,7,但我的代码不起作用。有人可以帮我吗?

0
0 Comments

这段代码的目的是生成一个列表,其中包含从num1到num2之间的所有整数(包括num1和num2)。但是在第一个示例中,列表中包含了num2这个数字,而实际上它应该被排除在外。为了解决这个问题,可以在range函数中使用end参数,将其设置为diff+1,即num2-num1+1。这样,range函数将生成一个从num1开始,到num2-1结束的整数序列。然后,通过在循环中将num1+1添加到列表中,可以得到所需的结果。下面是修改后的代码:

def number_range(num1,num2):
    list1=[]
    diff = num2-num1
    end = diff+1
    for i in range(num1, end):
        num1 = num1+1
        list1.append(num1)
    return list1
print(number_range(2,8))

运行上述代码将输出:[3, 4, 5, 6, 7]

0
0 Comments

在上述代码中,函数a()只是被调用了,但没有将其结果打印到控制台上。因此,没有看到返回值1。如果想要将结果打印到控制台上,需要使用print()函数来打印返回值。

解决方法如下:

def a():
    return 1
print(a())

上述代码将正确打印出结果1到控制台上。

0
0 Comments

如果range只有一个参数,它将始终从0开始。你的代码将生成从0到8-2(即6)的数字。

你想要的是从2开始,到8结束。你需要使用两个参数,一个用于起始点,另一个用于结束点。

在你的例子中,你可以这样修改代码:

def number_range(num1,num2):
    list1=[]
    for i in range(num1+1, num2):
        list1.append(i)
    return list1
print(number_range(2,8))

然后你可以调用函数并打印输出,你将在终端中看到:

[3, 4, 5, 6, 7]

这样你的代码就会返回正确的结果了。

0