Вадим-Рашад323
?>

Дан список чисел. выведите все элементы списка, которые больше предыдущего элемента. python 3 .что у меня в коде неверно, исправьте : a=() for i in range(len(a)): if a[i]> a[i-1] and i! =0: print(a[i])

Информатика

Ответы

titovass9
В коде есть две проблемы:
1) input().split() возвращает список строк. Строки сравниваются лексикографически, и не всегда совпадают с тем, как соотносятся числа: например, "8" > "10", несмотря на то, что 8 < 10. Это лечится преобразованием к целому типу.
2) Это не приведет в ошибке, но не очень аккуратно: условие a[i] > a[i - 1] and i != 0 при i = 0 сравнит a[0] и a[-1], то есть первый и последний элемент, и только потом узнает, что i = 0. Сравнение этих элементов массива бессмысленно, код не ломается на этом месте только из-за особенности языка, в котором определены отрицательные индексы. Если переставить условия местами, то сначала код проверит, что i != 0, и если это не так, он ничего сравнивать не будет. Другой поправить - поменять границы в range, так будет немного быстрее.

Итоговый вариант:
a=input().split()
for i in range(1, len(a)):
   if int(a[i])>int(a[i-1]):
       print(a[i])

Пример ввода:
1 2 3 3 2 1

Пример вывода:
2
3
kozak8824

1

x = int(input())

if(x >= 100 and x <= 999):

   print("Число трехзначное")

else: print("Число НЕ трехзначное")

2

month = int(input())

if(month >= 1 and month <= 12):

   if(month == 1 or month == 3 or month == 5 or month == 7 or month == 8

      or month == 10 or month == 12):

       print(31)

   elif(month == 2):

       print(28)

   else: print(30)

else: print("Неверно введеный номер месяца!")

3

from sys import exit

month = int(input("Месяц: "))

day = int(input("День: "))

remainder = 0

if(month >= 1 and month <= 12):

   if(month == 1 or month == 3 or month == 5 or

      month == 7 or month == 8 or month == 10 or month == 12):

       if(day >= 1 and day <= 31):

           pass

       else: print("Неверно введены дни месяца!"); exit();

   elif(month == 2):

       if(day >= 1 and day <= 28):

           pass

       else: print("Неверно введены дни месяца!"); exit();

   else:

       if(day >= 1 and day <= 30):

           pass

       else:

           print("Неверно введены дни месяца!"); exit();

       

   for i in range(1, month+1):

       if(i == 1 or i == 3 or i == 5 or i == 7 or i == 8

          or i == 10 or i == 12):

           remainder += 31

       elif(i == 2):

           remainder += 28

       else: remainder += 30

   remainder += day

   print("До нового года осталось: " + str(365 - remainder))

else: print("Неверно введеный номер месяца!")

4

month = int(input())

if(month >= 1 and month <= 12):

   if(month == 12 or month == 1 or month == 2):

       print("Winter!")

   elif(month == 3 or month == 4 or month == 5):

       print("Spring!")

   elif(month == 6 or month == 7 or month == 8):

       print("Summer!")

   elif(month == 9 or month == 10 or month == 11):

       print("Autumn!")

else: print("Wrong number of month!")

Ивановна_Маликова1549
Пусть Чертёжник стоит в точке (0,0). Выполняя программу, Чертёжник нарисует цифры 1-9 и 0, в таком виде, как они пишутся на почтовых конвертах (см. рисунок). В фигурных скобках - комментарии, они не выполняются.

использовать Чертежник
алг Циферки
нач
{рисуем 1}
поднять перо
сместиться в точку (2, 1)
опустить перо
сместиться в точку (2, 3)
сместиться в точку (1, 2)
{рисуем 2}
поднять перо
сместиться в точку (3, 3)
опустить перо
сместиться в точку (4, 3)
сместиться в точку (4, 2)
сместиться в точку (3, 1)
сместиться в точку (4, 1)
{рисуем 3}
поднять перо
сместиться в точку (5, 3)
опустить перо
сместиться в точку (6, 3)
сместиться в точку (5, 2)
сместиться в точку (6, 2)
сместиться в точку (5, 1)
{рисуем 4}
поднять перо
сместиться в точку (7, 3)
опустить перо
сместиться в точку (7, 2)
сместиться в точку (8, 2)
поднять перо
сместиться в точку (8, 3)
опустить перо
сместиться в точку (8, 1)
{рисуем 5}
поднять перо
сместиться в точку (10, 3)
опустить перо
сместиться в точку (9, 3)
сместиться в точку (9, 2)
сместиться в точку (10, 2)
сместиться в точку (10, 1)
сместиться в точку (9, 1)
{рисуем 6}
поднять перо
сместиться в точку (12, 3)
опустить перо
сместиться в точку (11, 2)
сместиться в точку (11, 1)
сместиться в точку (12, 1)
сместиться в точку (12, 2)
сместиться в точку (11, 2)
{рисуем 7}
поднять перо
сместиться в точку (13, 3)
опустить перо
сместиться в точку (14, 3)
сместиться в точку (13, 2)
сместиться в точку (13, 1)
{рисуем 8}
поднять перо
сместиться в точку (15, 3)
опустить перо
сместиться в точку (15, 1)
сместиться в точку (16, 1)
сместиться в точку (16, 3)
сместиться в точку (15, 3)
поднять перо
сместиться в точку (15, 2)
опустить перо
сместиться в точку (16, 2)
{рисуем 9}
поднять перо
сместиться в точку (17, 1)
опустить перо
сместиться в точку (18, 2)
сместиться в точку (18, 3)
сместиться в точку (17, 3)
сместиться в точку (17, 2)
сместиться в точку (18, 2)
{рисуем 0}
поднять перо
сместиться в точку (19, 1)
опустить перо
сместиться в точку (19, 3)
сместиться в точку (20, 3)
сместиться в точку (20, 1)
сместиться в точку (19, 1)
{возвращаемся в начало}
поднять перо
сместиться в точку (0, 0)
кон

Ответить на вопрос

Поделитесь своими знаниями, ответьте на вопрос:

Дан список чисел. выведите все элементы списка, которые больше предыдущего элемента. python 3 .что у меня в коде неверно, исправьте : a=() for i in range(len(a)): if a[i]> a[i-1] and i! =0: print(a[i])
Ваше имя (никнейм)*
Email*
Комментарий*

Популярные вопросы в разделе

shabaev19542355
chernovol1985255
dkvsadovoe
Сергеевич
Бражинскене_Алексей
bereza81
ОвсепянСергей88
frsergeysavenok
Grishanin
info32
Usynin-nikolay
natalia-shelkovich
Olenkalebedeva4477
northwest7745
Николаевна