valerq444так её же сам пользователь должен ввести
Нет, просто последовательность чисел на python
когда вы в коде напишите input()
valerq444так её же сам пользователь должен ввести
Нет, просто последовательность чисел на python
a = input() # запрашиваем данные proverka = a.isnumeric() # вводим переменную, которая отвечает за проверку, .isnumeric() проверяет состоит ли строка из чисел while proverka == False: # пока переменная проверка неверна, будем запрашивать заново ввести данные a = input() proverka = a.isnumeric()
while not (a := input("Input number: ")).isnumeric(): print("bad input") print(a)
FishHookон же просит, чтобы запрашивали заново инпут, пока не введут числовую последовательность, или я неправильно прочитал ваш код?
rusaitovv
rusaitovvзапустите да проверьте, подозреваю, что он делает то же самое, что ваш
или я неправильно прочитал ваш код
def find_longest(text):
all_lst = []
t_lst = []
previous = None
for number in text:
if previous == None:
previous = number
t_lst.append(number)
first = True
else:
if first:
first = False
t_lst.append(previous)
if is_even(previous):
if not is_even(number):
previous = number
t_lst.append(number)
else:
first = True
previous = number
all_lst.append(t_lst)
t_lst = []
elif not is_even(previous):
if is_even(number):
previous = number
t_lst.append(number)
else:
first = True
previous = number
all_lst.append(t_lst)
t_lst = []
return all_lst
def is_even(number):
if int(number) % 2 == 0:
return True
else:
return False
print(max(find_longest("1203482471275648238294239472394"), key=len))
valerq444
1. Запросите у пользователя последовательность чисел.
2. Убедитесь, что введенная вами последовательность состоит только из цифр, если нет, запросите последовательность еще раз.
3. Для каждого числа в последовательности проверьте, является ли оно четным числом или нет.
4. Проверьте, было ли предыдущее число четным или нет.
5. В зависимости от результатов шагов 3 и 4 либо вывести полученное подслово, либо перейти к следующему номеру.
6. Для каждого встречающегося подслова проверьте, является ли оно самым длинным из подслов.
7. Когда слово достигнуто, отобразите самое длинное подслово.
>>> def f(): ... ... numbers = [] ... ... while True: ... text = input('Enter numbers: ') ... if text.replace(' ', '').isdigit(): ... for word in text.split(): ... numbers.append(int(word)) ... break ... else: ... print('Found a non-digit. Try again.') ... ... print('Entered numbers:', *numbers) ... ... maxlen = 0 ... for number in numbers: ... curlen = len(str(number)) ... if curlen > maxlen: ... maxlen = curlen ... ... previous_number = None ... for number in numbers: ... print_flag = False ... if number % 2 == 0: ... print('current', number, 'is even') ... print_flag = True ... else: ... print('current', number, 'is odd') ... print_flag = False ... if previous_number is not None: ... if previous_number % 2 == 0: ... pass ... else: ... print_flag = False ... if print_flag: ... print('current', number, 'is even', 'and', ... 'previous', previous_number, 'is even') ... print_flag = False ... previous_number = number ... ... if len(str(number)) == maxlen: ... print('word', number, 'is longest') ... >>> f() Enter numbers: 123 456 789 1000 1002 2001 2 4 1 3 Entered numbers: 123 456 789 1000 1002 2001 2 4 1 3 current 123 is odd current 456 is even current 789 is odd current 1000 is even word 1000 is longest current 1002 is even current 1002 is even and previous 1000 is even word 1002 is longest current 2001 is odd word 2001 is longest current 2 is even current 4 is even current 4 is even and previous 2 is even current 1 is odd current 3 is odd >>>