Вопрос Нужна помощь новичку в Python

Начинающий
Статус
Оффлайн
Регистрация
24 Май 2020
Сообщения
197
Реакции[?]
25
Поинты[?]
0
Барыга на минималках
Пользователь
Статус
Оффлайн
Регистрация
10 Фев 2019
Сообщения
182
Реакции[?]
57
Поинты[?]
2K
если под
def Main() - функция
if __name__ == "__main__":
Хороший тон для вызова функции.
если подробнее то эта конструкция отслеживает импорт то есть при импорте этого файла не будет выполнятся вызов функции
 
окряен.цц
Уникальная группа
Статус
Оффлайн
Регистрация
12 Окт 2017
Сообщения
406
Реакции[?]
176
Поинты[?]
1K
Более компактное решение задачи с загадками.
Python:
riddles = {
    'Что больше: сумма всех цифр или их произведение?': ['сумма'],
    'На ветке сидели три птички, две решили полететь. Сколько осталось сидеть на ветке птичек?': ['3', 'три'],
    'У Олиной мамы пять дочек: Вика, Аня, Марта, Кира... Как зовут пятую?': ['оля'],
    'Два друга играли в шахматы 2 часа. Сколько часов играл каждый из них?': ['2', 'два'],
    'В доме 4 этажа. Чем выше этаж, тем больше людей там живёт. На какой этаж чаще ездит лифт?': ['1', 'первый'],
    'Вчера был четверг. Какой день будет послезавтра?': ['воскресенье'],
    'Было 6 блоков. Несколько из них разрезали пополам. Стало 10 блоков. Сколько блоков разрезали?': ['4', 'четыре'],
    'У семерых братьев по сестре. Сколько всего сестер?': ['1', 'одна'],
    'На руках десять пальцев. Сколько пальцев на десяти руках?': ['50', 'пятьдесят'],
    'Какой язык программирования мы изучаем?': ['python']
}

correct_answers_counter = int(0)

for i, (question, answers) in enumerate(riddles.items()):
    print('Вопрос >', question)
    user_answer = str(input('Введите ответ > '))
    if len([elem for elem in answers if user_answer.lower() == elem.lower()]) > 0:
        print('Правильно :)')
        correct_answers_counter += 1
        continue
    print('Неправильно :(')

print('\n-----------\nПравильных ответов {} из {}.'.format(correct_answers_counter, len(riddles)))
 
Эксперт
Статус
Оффлайн
Регистрация
9 Апр 2020
Сообщения
1,442
Реакции[?]
671
Поинты[?]
30K
Есть вопросы. Что такое
Python:
def Main()
И что такое и зачем
Python:
if __name__ == "__main__":

    Main()
Есть вопросы. Что такое
Python:
def Main()
Это функция

Python:
if __name__ == "__main__":

    Main()
[/QUOTE]
Вроде что-то вроде мульти-потока, или какая-то еще дичь
 
Начинающий
Статус
Оффлайн
Регистрация
21 Июл 2020
Сообщения
16
Реакции[?]
1
Поинты[?]
0
Более компактное решение задачи с загадками.
Python:
riddles = {
    'Что больше: сумма всех цифр или их произведение?': ['сумма'],
    'На ветке сидели три птички, две решили полететь. Сколько осталось сидеть на ветке птичек?': ['3', 'три'],
    'У Олиной мамы пять дочек: Вика, Аня, Марта, Кира... Как зовут пятую?': ['оля'],
    'Два друга играли в шахматы 2 часа. Сколько часов играл каждый из них?': ['2', 'два'],
    'В доме 4 этажа. Чем выше этаж, тем больше людей там живёт. На какой этаж чаще ездит лифт?': ['1', 'первый'],
    'Вчера был четверг. Какой день будет послезавтра?': ['воскресенье'],
    'Было 6 блоков. Несколько из них разрезали пополам. Стало 10 блоков. Сколько блоков разрезали?': ['4', 'четыре'],
    'У семерых братьев по сестре. Сколько всего сестер?': ['1', 'одна'],
    'На руках десять пальцев. Сколько пальцев на десяти руках?': ['50', 'пятьдесят'],
    'Какой язык программирования мы изучаем?': ['python']
}

correct_answers_counter = int(0)

for i, (question, answers) in enumerate(riddles.items()):
    print('Вопрос >', question)
    user_answer = str(input('Введите ответ > '))
    if len([elem for elem in answers if user_answer.lower() == elem.lower()]) > 0:
        print('Правильно :)')
        correct_answers_counter += 1
        continue
    print('Неправильно :(')

print('\n-----------\nПравильных ответов {} из {}.'.format(correct_answers_counter, len(riddles)))
При input() же вроде всегда строка идёт?
Python:
>>>a = input('Число\n')
Число
12
>>> b = input('Число2\n')
Число 2
22
>>> print(a + b)
1222
 
окряен.цц
Уникальная группа
Статус
Оффлайн
Регистрация
12 Окт 2017
Сообщения
406
Реакции[?]
176
Поинты[?]
1K
Эксперт
Статус
Оффлайн
Регистрация
9 Апр 2020
Сообщения
1,442
Реакции[?]
671
Поинты[?]
30K
При input() же вроде всегда строка идёт?
Python:
>>>a = input('Число\n')
Число
12
>>> b = input('Число2\n')
Число 2
22
>>> print(a + b)
1222
Нет, ты можешь \n убрать, и получится преколяс или ты про тип данных ?
 
окряен.цц
Уникальная группа
Статус
Оффлайн
Регистрация
12 Окт 2017
Сообщения
406
Реакции[?]
176
Поинты[?]
1K
Нет, ты можешь \n убрать, и получится преколяс или ты про тип данных ?
ничего не изменится, инпут действительно возвращает стринг в любом случае.
 
Сверху Снизу