Найти - Пользователи
Полная версия: Последовательность чисел. Help!
Начало » Python для новичков » Последовательность чисел. Help!
1 2 3
rusaitovv
valerq444
Нет, просто последовательность чисел на python
так её же сам пользователь должен ввести
когда вы в коде напишите input()
FishHook
rusaitovv
  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)
rusaitovv
FishHook
rusaitovv
он же просит, чтобы запрашивали заново инпут, пока не введут числовую последовательность, или я неправильно прочитал ваш код?
FishHook
rusaitovv
или я неправильно прочитал ваш код
запустите да проверьте, подозреваю, что он делает то же самое, что ваш
valerq444
Да, практически одинаковые
ZerG
посоны у меня сиськт больше чем у авторши топика сделайте да?
valerq444
Кроме КВН больше ничего не умеешь похоже
valerq444
У меня такой вариант получился, но только нету, чтобы вводить через консоль и сразу выдает конечный результат.
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))
py.user.next
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
>>>
ZerG
Марк Лутц. Читаем -смеемся над своим вопросом
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB