Что хорошие вопросы о программировании еще состоят в том, чтобы осуществить использование “если …” в Python?

Каков был бы хороший набор программирования упражнений, которые помогут новичкам Python изучить использование, "если... еще" создадут? Я мог приготовить следующее, Вы знаете о еще?

  1. Найдите самое большое/самое маленькое из трех чисел.
  2. Учитывая дату (год, месяц, день), находят следующую дату.

У большей части целевой аудитории не было большой части воздействия программированию прежде, и я еще увлечен получением их привыкший к размышлению правильно о "если..." (и вся остальная часть его, в свое время).

10
задан Bill the Lizard 20 September 2012 в 12:55
поделиться

10 ответов

Тем, кто программирует годами, трудно "понять", каково это - начинать с нуля. Я бы воздержался от всего, что требует более 5 строк кода.

Вам нужно решить, в каком порядке вы будете изучать такие вещи, как пользовательский ввод, вывод, if, else, while, for, file io и т.д.

При изучении IF они уже знают, как получить некоторые данные от пользователя? Вывести некоторый вывод? Составить цикл FOR? Выполнять арифметические действия над целыми числами? Определять, делится ли число на другое число?

Ответы на эти вопросы ограничивают ваши примеры для IF.

Я бы предложил сделать Output, Arithmentic, FOR, Divisibility (modulus), User Input, прежде чем делать IF.

Тогда я смогу поставить такие проблемы, как

Print the first 100 odd numbers
Determine the factors of a number entered  by the user
Play a number guessing game (User enters a guess, you print YES or Higher or Lower)
8
ответ дан 3 December 2019 в 19:31
поделиться

«Выяснить, является ли данный год високосным» приходит на ум почти сразу. Просто дайте им правила и отпустите их.

Другие возможности (хотя и с другими вещами, кроме if ):

  • Hunt the Wumpus (для этого вам, возможно, придется погуглить, я показываю свой возраст).
  • Многолетнее правило «обнаружить победу в игре« Крестики-нолики »(крестики-нолики)» (вы можете сделать это с помощью восьми операторов if , если не хотите зацикливаться ).
  • Как можно быстрее угадать число от 1 до 100 (больше, меньше).

Ни для чего, кроме операторов if / else , високосный год хорош. Вы также можете подумать:

  • Проверить, кратно ли число 3, 5 или 7.
  • Учитывая возраст, выясните, является ли кто-то младенцем, малышом, ребенком, подростком, взрослым или стариком.
  • Вычислить оценки A-F на основе окончательной процентной оценки.
  • Учитывая число на столе рулетки, выясните, является ли оно красным / черным, большим / низким и нечетным / четным.
  • Учитывая комбинацию блэкджека, проверьте, в порядке ли она или нет (это хорошо, поскольку J / Q / K превращаются в 10). Вы также можете решить, брать ли еще одну карту (например, если общая сумма меньше 17).

Это лишь небольшая часть возможностей, которые вам могут сойти с рук.

9
ответ дан 3 December 2019 в 19:31
поделиться

Попробуйте простую игру, например, если вы нажмете «L», поверните налево, если вы нажмете «R», поверните направо, если там монстр, вы умрете и т. Д.

1
ответ дан 3 December 2019 в 19:31
поделиться

Здесь есть множество вариантов. Может быть, пусть построят простой калькулятор с учетом деления на ноль , нечетных / четных чисел и т.п.

Изменить: нашел это простое упражнение на if-else (на java), которое можно преобразовать в Python.

1
ответ дан 3 December 2019 в 19:31
поделиться

Как только вы дойдете до циклов и/или функций, отличным вариантом будет "четыре - это магия" - четыре - единственное слово с тем же количеством букв, что и число, и якобы все числа сходятся к четырем. Так что игра проходит примерно так:

seventeen is nine
nine is four
four is magic

или (без учета пробелов):

one hundred is ten
ten is three
three is five
five is four
four is magic

Конечно, если вы хотите придерживаться if/else, вы можете легко сделать это для чисел 0-10, и просто иметь серию из 11 блоков if...else (1-5 и вам понадобится еще меньше).

0
ответ дан 3 December 2019 в 19:31
поделиться

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

В большинстве случаев я не использую if в качестве альтернативы переключателю C ++ . Я предпочитаю словарь функций.

Я также стараюсь следовать Правило проще просить прощения, чем разрешения, и я предпочитаю ловить исключения.

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

Я в основном использую if в качестве фильтра.

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

Я думаю, что любой глупый пример, подобный приведенному ниже, должен работать.

class Song:
    def __init__(self, title, year):
         self.title = title
         self.year = year

songs = [Song('Blackbird', 1968), Song('Penny Lane', 1967), Song('Jenny Wren', 2005)]
for song in songs:
    if song.year < 1970:
        print song.title, 'by the Beatles'
    else:
        print song.title, 'is not a Beatles song'

Это также может быть первый шаг к пониманию списка, если вы планируете его показать.

songs = [Song('Blackbird', 1968), Song('Penny Lane', 1967), Song('Jenny Wren', 2005)]
print [song.title for song in songs if song.year<1970]
1
ответ дан 3 December 2019 в 19:31
поделиться

Одним из лучших является проект Euler problem #1.

http://projecteuler.net/index.php?section=problems&id=1

Это требует значительной осторожности, чтобы точно выполнить условия if.

0
ответ дан 3 December 2019 в 19:31
поделиться

Вы также можете подготовить своих начинающих программистов к прохождению теста FizzBuzz . Увидев, что это чрезвычайно распространенная функция фильтрации для найма программистов, вы можете процитировать:

«После выполнения этого задания вы выше 199 из 200 программистов претендующих на профессиональные должности »

0
ответ дан 3 December 2019 в 19:31
поделиться

Я продемонстрировал эту тему в DaniWeb с помощью игры в угадывание чисел . Может быть, что-то подобное?

Мое любимое использование конструкции if..else в инструкции print вместо multiline if.

Я видел другие ответы, предлагающие что-то для обычного оператора if, поэтому я сам придумал один:

Я думаю, что практическое значение было бы использовать if в операторе break в качестве реакции на ввод пользователя. В то же время вы можете научить пытаться ... кроме случаев, когда не использовать if в Python.

0
ответ дан 3 December 2019 в 19:31
поделиться

Мне нравится задача "Трое мужчин и обезьяна на острове":

Трое мужчин застряли на необитаемом острове с обезьяной. Они собирают все кокосовые орехи и складывают их в большую кучу. Затем в течение ночи каждый человек встает тайком и берет 1/3 часть оставшейся кучи и прячет ее. Когда он делит кучу на трети, остается остается 1, которую он отдает обезьяне. Затем утром, после того как они все просыпаются, они делят кучу на 1/3 части ... с 1 оставшейся частью для обезьяне. Сколько кокосов было в в куче изначально?

Общая стратегия решения этой задачи заключается в использовании цикла for-loop для проверки всех чисел от 1 до 10 000 (или другого большого числа). Для проверки остатка нужно использовать операторы if. Позже вы можете расширить эту задачу до более общей словесной задачи о Х-людях и Y-обезьянах... для этого потребуется вложенный цикл for-loop.

0
ответ дан 3 December 2019 в 19:31
поделиться
Другие вопросы по тегам:

Похожие вопросы: