Pythonはリストのスライス機能を提供しますが、この 質問に対して、あなたは リストのスライスを(生成することが可能な独自の機能を実装します。注:あなたはあなたの 溶液中のスライス演算子を使用することはできません)。関数が
slice
と呼ばれ、この特定の順序で、次の 3つの入力を取るべきである:スライスから作成されますリスト・スライシング
- リスト、
source
、。このリストは、あなたの関数では変更できません。- 作成するスライスの開始インデックスを表す正の整数、
start
。この値が[0, len(list)-1]
の範囲にない場合、関数は空のリストを返す必要があります。- 作成するスライスの終了インデックスを表す正の整数、
end
。この値が[start, len(list)-1]
の範囲にない場合、関数は空のリストを返す必要があります。パラメータ値が許容されている場合は、あなたの関数が がインデックス
start
から始まり、インデックスend
(包括的)で を終了source
からアイテムを含むリストを返します。これは、インデックスend
の項目も新しい リストに含まれているため、Pythonスライス 演算子とは異なります。
これは私がこれまでに得たものである:
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))
あなたの宿題には、ユーザーからの入力については何も言われていません。あるいは、少なくとも、私はかなりあなたのfuncitonが引数*としてこれらを取るべきであると確信しています。 –
@ juanpa.arrivillagaリストはユーザーから取られなければならず、機能によって操作または変更することはできません。 1-スライスが作成されるソースのリスト。このリストは、あなたの関数では変更できません。 – sal
あなたのソリューションは私には大丈夫です。あなたはそれを実行しようとしましたか? juanpaが言ったことを追加するには、関数はパラメータを要求すべきではありません。これは、次のようにする必要があります: 'def slice(List、start、end):'このように宣言する必要があります。 –