Почему оболочка python не печатает

#python #printing

#python #печать

Вопрос:

Я новичок в Python и пишу свою первую программу. Пожалуйста, простите мне недостаток опыта, и если это глупый вопрос, мои извинения.

Я выполняю первое упражнение в руководстве Google по Python, и вот мой код, который я поместил в новое окно, которое я открыл из оболочки python 3.3. Этот код напрямую скопирован из решения, которое дает ответ, но моя проблема в том, что я не ВИЖУ НИКАКИХ ВЫХОДНЫХ ДАННЫХ В ОКНЕ оболочки. Как мне увидеть вывод в окне оболочки. Я ожидаю увидеть что-то напечатанное на основе того, что я передаю в main. Чего мне не хватает?

Спасибо.

 def donuts(count):
    if count < 10:
         return 'Number of donuts: '   str(count)
    else:
         return 'Number of donuts: many'

    return

def main():
    print ('Donuts')
    test(donuts(4), 'Number of donuts: 4')
    test(donuts(9), 'Number of donuts: 9')
    test(donuts(10), 'Number of donuts: many')
    test(donuts(99), 'Number of donuts: many')
  

Комментарии:

1. Кроме того, почему я не могу вставить код с хорошим отступом, чтобы сообщество могло видеть его таким, как он отображается в оболочке? Вам всем было бы сложно расшифровать способ его вставки — я вставил его с отступами, но stackoverflow каким-то образом изменил его на компактную версию, которая непонятна.

2. Пожалуйста, отредактируйте свой пост, чтобы ваш код был правильно отформатирован.

3. Есть файлы справки, которые расскажут вам, как использовать markdown. Вы также можете просмотреть правку, сделанную другим пользователем здесь.

4. Спасибо вам обоим. Я считаю, что редактирование пользователей правильное. Теперь мой код имитирует форматирование, которое я вижу в окне кода IDLE.

Ответ №1:

Вы где-нибудь вызывали метод main? Есть ли у вас что-то подобное в вашем файле python:

 if __name__ == "__main__":
    main()
  

Комментарии:

1. Привет, Мариатта — нет, я этого не делаю. Должен ли я вставить это под и запустить его? Обратите внимание на приведенное ниже решение Джо Рэя. Без вызова main, как вы предлагаете, я смог запустить код и отобразить некоторые выходные данные, добавив print (donuts (8))

Ответ №2:

Попробуйте это:

 def donuts(count):
    if count < 10:
     return 'Number of donuts: '   str(count)
    else: return 'Number of donuts: many'

print donuts(8)
  

Комментарии:

1. Джо — это сработало! Спасибо. Однако, в качестве примечания, в python 3.3 версия, которую я использую, команда print должна включать paranthesis. So — > print (donuts(8))