[4, 5, 5, 1, 8, 3, 1, 6, 2, 7] というリストが与えられた場合、リスト内の最初の昇順のランを見つけられるようにしたい.. の開始位置を返したいリストとそれが続く期間。したがって、このリストは位置 0 を返し、長さは 2 (4,5) になります。
リストに昇順の実行がない場合は、-1 を返します。
以下は私がこれまでに持っているものですが、プログラムを実行したときに表示される「リスト インデックスが範囲外です」というエラーを修正できないようです。エラーが発生する理由はわかっていますが、どのように修正できるかわかりません。
import random
def generate_integer_list (num_integers, low_range, high_range):
assert num_integers > 0, "Value must be greater than 0"
assert low_range < high_range, "Value must be less than high_range"
x_range = range(num_integers) #Create a range for the below for-loop
l = [] #Create an empty list
#A for loop that goes on for the amount of integers the user wants and
#generates a number within the bounds, then adds that number to the list we created above
for _x in x_range:
r = random.randint(low_range, high_range)
l.append(r)
print (l)
length = len(l)
for x in range(length ):
t = l[x+1] - l[x]
if t == -1:
print (True)
else:
print (False)
generate_integer_list (5, 0, 10)
私が求めているのは、この関数を取得して最初のアセンションを見つけ、位置と長さを返す方法です