列表 data_list 包含从输入读取的整数,表示数据值序列。对于 data_list 的每个索引 i 从 1 到倒数第二个索引:
如果索引 i 处的元素大于前一个元素和后一个元素,则该元素是预感。 如果索引 i 处的元素是预感,则输出 'Hunch: ',后跟前一个元素、当前元素和后一个元素,每个元素之间用空格分隔。
例如:如果输入是 12 14 72 52,那么输出是:
tokens = input().split()
data_list = []
for token in tokens:
data_list.append(int(token))
print(f'Sequence: {data_list}')
for i, data in enumerate(data_list[1: -2]):
if data_list[i] > data_list[i - 1] and data_list[i] > data_list[i + 1]:
print(f"Hunch: {data_list[i - 1]} {data_list[i]} {data_list[i + 1]}")
更短的输入方式,四种解决方案。
seq = list(map(int, input().split()))
for a, b, c in zip(seq, seq[1:], seq[2:]):
if a < b > c:
print('Hunch:', a, b, c)
a = b = None
for c in seq:
if None is not a < b > c:
print('Hunch:', a, b, c)
a, b = b, c
b = float('nan')
for c in seq:
if c < b > a:
print('Hunch:', a, b, c)
a, b = b, c
a, b = seq[:2]
for c in seq[2:]:
if a < b > c:
print('Hunch:', a, b, c)
a, b = b, c