Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- # Пользователь вводит десять целых чисел, представляющих собой элементы списка. Требуется его оценить:
- # - является ли список возрастающей последовательностью;
- # - есть ли в списке одинаковые элементы;
- # - является ли список знакочередующимся (положительные и отрицательные числа чередуются).
- import copy
- def inpAsStr(): # ввод в строку с разделением по пробелам
- inp = input("введите 10 целых чисел, разделённых пробелами").split()
- for i in range(len(inp)):
- inp[i]=int(inp[i])
- return(inp)
- def inpAsList(): # последовательный ввод элементов списка
- inp = []
- while len(inp)<10:
- inp.append(int(input("введите целое число")))
- return (inp)
- def isListRiseSort(arr): # проверка на не-убывание, допускает
- arrCopy = copy.copy(arr) # два одинаковых элемента подряд. не
- arrCopy.sort() # использует циклов
- if arr == arrCopy:
- return(True)
- else: return(False)
- def isListRiseFor(arr): # обычная проверка на возрастание
- for i in range(len(arr)-1):
- if arr[i] >= arr[i+1]:
- return(False)
- else: return(True)
- def isThereRepeats(arr): # в одну строку:? 10 54 12 64 34 54 12 57 14 65
- if len(arr) != len(set(arr)): return(True)
- else: return(False)
- def pos(n): # вернуть True если число не отриц или 0
- if n < 0 or n == 0: return(False)
- else: return(True)
- def isListAlternating(arr): # поиск идущих подряд чисел с одинаковым
- for i in range(len(arr)-1): # знаком - отсутствие чередования
- if pos(arr[i]) == pos(arr[i+1]):
- return(False)
- else: return(True)
- arr = inpAsStr()
- if len(arr)!=10:
- if isListRiseFor(arr):
- print("Введённая последовательность является возрстающей", sep="", end="")
- else: print("введённая последовательность не является возрстающей", sep="",end = "")
- if isThereRepeats(arr):
- print(", в ней есть одинаковые элементы", sep="", end="")
- else: print(", в ней нет одинаковых элементов", sep="", end="")
- if isListAlternating(arr):
- print(" и она является знакочередующейся.")
- else: print(" и она не является знакочередующейся.")
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement