我的python没有';t返回3,4,5,6,7它似乎不';行不通

我的python没有';t返回3,4,5,6,7它似乎不';行不通,python,function,Python,Function,我希望python返回3,4,5,6,7,但我的代码不起作用。有人能帮我吗?您所做的只是调用一个函数,而不是将其结果打印到控制台 def number_range(num1,num2): list1=[] for i in range(num2-num1): num1 = num1+1 list1.append(num1) return list1 number_range(2,8)

我希望python返回3,4,5,6,7,但我的代码不起作用。有人能帮我吗?

您所做的只是调用一个函数,而不是将其结果打印到控制台

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


 number_range(2,8)
我什么也做不了。如果希望将结果输出到控制台,则需要调用

def a():
    return 1
a()

实际获取结果。

您所做的只是调用一个函数,而不是将其结果打印到控制台

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


 number_range(2,8)
我什么也做不了。如果希望将结果输出到控制台,则需要调用

def a():
    return 1
a()

如果范围只有一个参数,它将始终从0开始。您的代码将生成从0到8-2或6的数字

范围(8-2)=范围(6) 真的 >>>射程(8-2) 范围(0,6) >>>名单(范围(6)) [0, 1, 2, 3, 4, 5] 你想要的是从2开始到8结束。必须使用两个参数,一个用于起点,另一个用于终点

>范围(3,8)
[3, 4, 5, 6, 7]
在你的例子中

def编号范围(num1、num2): 列表1=[] 对于范围内的i(num1+1,num2): 清单1.追加(i) 返回列表1 然后可以调用函数并打印输出

打印(数字范围(2,8))
您将在终端中看到

[3,4,5,6,7]

如果范围只有一个参数,它将始终从0开始。您的代码将生成从0到8-2或6的数字

范围(8-2)=范围(6) 真的 >>>射程(8-2) 范围(0,6) >>>名单(范围(6)) [0, 1, 2, 3, 4, 5] 你想要的是从2开始到8结束。必须使用两个参数,一个用于起点,另一个用于终点

>范围(3,8)
[3, 4, 5, 6, 7]
在你的例子中

def编号范围(num1、num2): 列表1=[] 对于范围内的i(num1+1,num2): 清单1.追加(i) 返回列表1 然后可以调用函数并打印输出

打印(数字范围(2,8))
您将在终端中看到

[3,4,5,6,7]

如果希望代码打印函数调用的输出,则必须使用以下命令更改最后一行:

print(a())
此外,该输入的函数输出将是[3,4,5,6,7,8]。正如他们告诉您的,使用range()的方式一点也不常见,可以根据标准(first、last+1)进行更改

如果您真的想这样使用range(),它基本上是一个带有单个参数的range(),您必须这样做,减去1:

print(number_range(2,8))

无论如何,在我写这个答案的时候,Shazers提供了一个使用标准语法的实现,我强烈推荐他的解决方案而不是我的。仅当出于某种原因使用带有减法的range()时才使用此选项。

如果希望代码打印函数调用的输出,则必须使用以下选项更改最后一行:

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


print(number_range(2,8))
[3, 4, 5, 6, 7]
此外,该输入的函数输出将是[3,4,5,6,7,8]。正如他们告诉您的,使用range()的方式一点也不常见,可以根据标准(first、last+1)进行更改

如果您真的想这样使用range(),它基本上是一个带有单个参数的range(),您必须这样做,减去1:

print(number_range(2,8))
无论如何,在我写这个答案的时候,Shazers提供了一个使用标准语法的实现,我强烈推荐他的解决方案而不是我的。仅当您出于某种原因使用带有减法的range()时,才可以使用此选项,您没有对此发表评论

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


print(number_range(2,8))
[3, 4, 5, 6, 7]
上面的代码片段为您提供了
[3,4,5,6,7,8]
,但您希望看到
[3,4,5,6,7]
。您可能需要检查
范围(开始、结束、步骤)
的一次语法,以解决您的问题

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


print(number_range(2,8))
输出

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


print(number_range(2,8))
如果您希望做一些不同的事情,请向我们提供更多关于您的要求的信息,以便以这种方式进行修改

上面的代码片段为您提供了
[3,4,5,6,7,8]
,但您希望看到
[3,4,5,6,7]
。您可能需要检查
范围(开始、结束、步骤)
的一次语法,以解决您的问题

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


print(number_range(2,8))
输出

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


print(number_range(2,8))

如果您希望做一些不同的事情,请向我们提供更多关于您的需求的信息,以便能够以这种方式进行修改。

我很好奇为什么您不只使用列表(范围(3,8))
范围(num1,num2)
[num for num in range(3,8)]
?这是否回答了您的问题@Fatemeh Jamali输出是什么?我很好奇为什么不使用列表(范围(3,8))
range(num1,num2)
[num for num in range(3,8)]
有什么问题吗?这回答了你的问题吗@Fatemeh Jamali产量是多少