【发布时间】:2017-07-27 00:08:53
【问题描述】:
Python 为列表提供了切片功能,但为此 问题,您将实现自己的功能,能够产生 列出切片(注意:你不能在你的 解决方案)。该函数应称为
slice并采用以下内容 按此特定顺序的三个输入:
- 一个列表,
source,将从中创建切片。您的函数无法修改此列表。- 一个正整数
start,表示您将创建的切片的起始索引。如果此值不在[0, len(list)-1]范围内,您的函数应返回一个空列表。- 一个正整数
end,表示您将创建的切片的结束索引。如果此值不在[start, len(list)-1]范围内,您的函数应返回一个空列表。如果 参数值是可以接受的,你的函数将返回一个列表 包含来自
source的项目,从索引start开始并结束 在索引end(包括)。这与 Python 切片不同 运算符,因为索引end处的项目也包含在新的 列表。
这是我目前得到的:
list1 = []
def slice(list1):
list1 = list(input("enter a list"))
emptylist = []
st = int(input("enter start"))
ed = int(input("enter end"))
if ed not in range(st,len(list1)-1) or st not in range(0,len(list1)-1):
print(emptylist)
else:
list2 = []
for i in list1:
list2.append(list1[i])
return(list2)
print(slice(list1))
【问题讨论】:
-
你的家庭作业说明没有提到接受用户输入。或者至少,我相当肯定你的函数应该将这些作为参数。
-
@juanpa.arrivillaga 该列表必须从用户那里获取,并且不能被函数操作或更改。 1- 一个列表,源,切片将从中创建。您的函数无法修改此列表。
-
您的解决方案在我看来还可以。你试过运行它吗?补充一下 juanpa 所说的,该函数不应该要求参数。应该是这样的:
def slice(List, start, end):应该这样声明。 -
再一次,我很确定您的说明暗示该函数应将这些值作为参数。
-
你的切片只接受一个参数