@IT-Programmer

Почему не работает код на Python?

Вот код:
def calculate():
    n = input("Кол-во учеников: ")
    k = input("Кол-во яблок: ")
    print("Кол-во яблок что получил кадлый ученик: "+k//n+"\n Кол-во яблок осталось: "+k%n)
    
calculate();


Вывод:
Кол-во учеников: Кол-во яблок: 

Traceback (most recent call last):
  File "./Playground/file0.py", line 6, in <module>
    calculate();
  File "./Playground/file0.py", line 3, in calculate
    k = input("Кол-во яблок: ")
EOFError: EOF when reading a line


В чём может быть ошибка?
  • Вопрос задан
  • 176 просмотров
Решения вопроса 3
hottabxp
@hottabxp Куратор тега Python
Сначала мы жили бедно, а потом нас обокрали..
Потому что делите не число на число, а строку на строку.
n = int(input("Кол-во учеников: ")) - нужно строку преобразовать в число.

Так немного красивей:
def calculate():
	
    n = int(input("Кол-во учеников: "))
    k = int(input("Кол-во яблок: "))

    print(f'Кол-во яблок что получил кадлый ученик: {k//n}')
    print(f'Кол-во яблок осталось: {k%n}')
    
calculate();
Ответ написан
Комментировать
def calculate():
    n = int(input("Кол-во учеников: "))
    k = int(input("Кол-во яблок: "))
    print("Кол-во яблок, что получил каждый ученик:",
          k // n, "\nКол-во яблок осталось:", k % n)

calculate()

Разбирайтесь
Ответ написан
Комментировать
@Dev12345
Какой-то кодер
1. Вы делите не целое число, а строку, для исправления строку полученную из input переведите в целое число.
2. У вас будет ошибка при плюсе к строке целого числа, для исправления целое число нужно перевести в строку.
Исправлений код:

def calculate():
    n = int(input("Кол-во учеников: "))
    k = int(input("Кол-во яблок: "))
    print("Кол-во яблок что получил кадлый ученик: "+str(k//n)+"\nКол-во яблок осталось: "+str(k%n))
    
calculate()
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы