Форум программистов, компьютерный форум, киберфорум
Python для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.60/15: Рейтинг темы: голосов - 15, средняя оценка - 4.60
0 / 0 / 0
Регистрация: 23.09.2022
Сообщений: 4
1

Ошибка в программе, которая должна определять являются ли числа членами арифметической прогрессии

23.09.2022, 17:06. Показов 3011. Ответов 14

Author24 — интернет-сервис помощи студентам
Готовился к ЕГЭ по курсам, там был разбор задания по программе, которая должна определить являются ли три заданных числа членами арифметической прогрессии. Я списал программу точь в точь, но PyCharm выдаёт мне ошибку

Программа:

Python
1
2
3
4
5
6
7
8
n1 = int(input())
n2 = int(input())
n3 = int(input())
 
if n2 - n1 == n3 - n2:
    print("OK")
else:
    print("NEOK")
Результат:

1
3
Traceback (most recent call last):
File "C:/Users/юра/PycharmProjects/pythonProject1/main.py", line 2, in <module>
n2 = int(input())
ValueError: invalid literal for int() with base 10: ''


Ошибка появляется после того, как я введу второе число. То есть, как видно выше я ввёл сначала "1", потом "3", и после этого появляется ошибка. Помогите, пожалуйста
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
23.09.2022, 17:06
Ответы с готовыми решениями:

Напишите программу, которая вводит три действительный числа и проверяет, являются ли эти числа первыми тремя членами арифметической прогрессии.
Скласти програму, яка вводить три дійсні числа та перевіряє, чи ці числа є першими трема членами...

Определить являются ли числа членами арифметической прогрессии
Даны 4 числа. Определить, являются ли они элементами арифметической прогрессии.Значения вводить в...

Являются ли три заданных числа последовательными членами арифметической прогрессии
Напишите программу, которая определяет, являются ли три заданных числа последовательными членами...

Определить, являются ли заданные числа последовательными членами арифметической прогрессии
Даны три действительных числа a, b, c. Определить, являются ли они последовательными членами...

Цифры данного трехзначного числа N являются членами арифметической прогрессии
Цифры данного трехзначного числа N являются членами арифметической прогрессии

14
beginner
301 / 213 / 104
Регистрация: 02.08.2022
Сообщений: 345
23.09.2022, 17:12 2
Vil_an, код приведённый вами выше работает.
Код
1
3
5
OK
Ошибка из-за неверного ввода:
Вводить нужно цифры, без пробела после или перед ними, сразу после цифры жмите enter.
0
0 / 0 / 0
Регистрация: 23.09.2022
Сообщений: 4
24.09.2022, 09:50  [ТС] 3
Не работает, я именно так и делаю. Ввожу число, нажимаю enter, ввожу второе, нажимаю enter, после чего выходит ошибка. Никаких пробелов до или после, никаких букв или других символов, только цифры
0
Эксперт Python
4303 / 1854 / 330
Регистрация: 18.01.2021
Сообщений: 3,418
24.09.2022, 10:21 4
скрин в студию
0
259 / 205 / 60
Регистрация: 25.05.2022
Сообщений: 879
24.09.2022, 10:53 5
Небольшие проекты можно в онлайне
Python
1
2
3
4
5
n1=int(input('N1='))
n2=int(input('N2='))
n3=int(input('N3='))
 
print('OK' if n2 - n1 == n3 - n2 else 'KOKO')
0
0 / 0 / 0
Регистрация: 23.09.2022
Сообщений: 4
24.09.2022, 11:17  [ТС] 6
вот скрин
Миниатюры
Ошибка в программе, которая должна определять являются ли числа членами арифметической прогрессии  
0
259 / 205 / 60
Регистрация: 25.05.2022
Сообщений: 879
24.09.2022, 11:22 7
А если путь без кириллицы?

https://onlinegdb.com/jvnpYBlc2
0
Модератор
Эксперт функциональных языков программированияЭксперт Python
37302 / 20736 / 4272
Регистрация: 12.02.2012
Сообщений: 34,126
Записей в блоге: 14
24.09.2022, 11:27 8
Цитата Сообщение от Vil_an Посмотреть сообщение
являются ли три заданных числа членами арифметической прогрессии
- все решения, приведенные выше, плохи. Ведь три числа можно задать в любом порядке. Поэтому:

Python
1
2
3
4
5
6
7
8
n1=int(input('n1='))
n2=int(input('n2='))
n3=int(input('n3='))
arr=sotred([n1,n2,n3])
if n2-n1 == n3-n2:
    print("Yes")
else:
    print("No")
2
eaa
24.09.2022, 12:14
  #9

Не по теме:

Цитата Сообщение от Catstail Посмотреть сообщение
все решения, приведенные выше, плохи
на ЕГЭ и так сойдет, еще и курсы наверное платные

0
5408 / 2763 / 558
Регистрация: 07.11.2019
Сообщений: 4,511
24.09.2022, 12:35 10
Catstail, более того, задание некорректно составлено.
Пример: арифметическая прогрессия:
2, 4, 6, 8, 10 ...
Являются ли числа 2, 4, 10 членами этой последовательности? Очевидно что да.
2
Модератор
Эксперт функциональных языков программированияЭксперт Python
37302 / 20736 / 4272
Регистрация: 12.02.2012
Сообщений: 34,126
Записей в блоге: 14
24.09.2022, 12:59 11
u235, да, конечно! Пропущено слово "соседними".
0
0 / 0 / 0
Регистрация: 23.09.2022
Сообщений: 4
26.09.2022, 07:11  [ТС] 12
Ничего из написанного выше не помогло, но проблему я всё же смог решить. Если написать программу так, как показано ниже, то всё почему-то работает.

Python
1
2
3
4
5
6
7
8
n1 = int(input('Введите первое число: '))
n2 = int(input('Введите второе число: '))
n3 = int(input('Введите третье число: '))
 
if n2 - n1 == n3 - n2:
    print("OK")
else:
    print("NEOK")
Не знаю, почему это так работает, но если кто-то столкнулся с похожей проблемой, то теперь вы знаете решение

К сожалению, я не могу обозначить свой ответ, как лучший
0
2430 / 1473 / 633
Регистрация: 01.11.2021
Сообщений: 2,269
26.09.2022, 09:41 13
Vil_an, введи в своем решении 2, 6, 4
0
Модератор
Эксперт функциональных языков программированияЭксперт Python
37302 / 20736 / 4272
Регистрация: 12.02.2012
Сообщений: 34,126
Записей в блоге: 14
26.09.2022, 09:43 14
Цитата Сообщение от Vil_an Посмотреть сообщение
Ничего из написанного выше не помогло
- я плачу...

Цитата Сообщение от Vil_an Посмотреть сообщение
К сожалению, я не могу обозначить свой ответ, как лучший
- потому, что он неправильный. Ты так ничего и не понял.
0
2430 / 1473 / 633
Регистрация: 01.11.2021
Сообщений: 2,269
26.09.2022, 10:26 15
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
n1 = int(input('n1='))
n2 = int(input('n2='))
n3 = int(input('n3='))
n1, n2, n3 = sorted([n1, n2, n3])
if n1 != n2:
    tmp = n2 - n1
    while n2 < n3:
        n2 += tmp
    if n2 == n3:
        print("Yes")
    else:
        print("No")
else:
    print("Yes")
0
26.09.2022, 10:26
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
26.09.2022, 10:26
Помогаю со студенческими работами здесь

Цифры данного трехзначного числа N являются членами арифметической прогрессии
Составить линейную программу, печатающую значение true, если указанное высказывание является...

Определить, являются ли цифры данного трехзначного числа членами арифметической прогрессии
Составить программу,печатающую значение true,если указанное высказывание является истинным,и false...

Проверить, являются ли цифры заданного трехзначного числа членами арифметической прогрессии
Составить программу, которая выводит на экран слово «ИСТИНА», если условие выполнено или слово...

Определить, являются ли цифры данного трехзначного числа членами арифметической прогрессии
static void Main(string args) { Console.Write(&quot;Введите трехзначное число: &quot;); string i =...

Определить, являются ли цифры данного трехзначного числа N членами арифметической прогрессии
Составить программу, печатающую значение TRUE, если указанное высказывание является истинным, и...

Даны числа А, В, С. Определить, являются ли они тремя последовательными членами арифметической прогрессии
если сложно пошлите в ветку заказа проги) нужно чтобы результаты выводил в ячейки эксель. как...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
15
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru