Форум сайта python.su
Здравствуйте!
Делаю для дочки тренажёр по математике. Как тут добавить счётчик, т.е. за верные ответ +1 балл, за неверный -2(что бы сохранялись данные, а не каждый раз считались с нуля)?
import random score = () def y(): a = random.randint(0,10) b = random.randint(1,20) print(a,"*",b,"= ? ") x = int(input(" a * b = ")) if x == a*b: score=+1 print("Правильно)",score) else: score=-2 print("Не верно(",'Правильный ответ = ', a*b, score) return y() y()
Отредактировано ser98795 (Окт. 15, 2018 22:00:32)
Офлайн
Например использовать сохранение результата в файл
import random def load_score(): try: with open('score.txt') as f: score = int(f.read()) except Exception: score = 0 return score def save_score(score): with open('score.txt', 'w') as f: f.write(str(score)) def question(score): a = random.randint(0,10) b = random.randint(1,20) print(a,"*",b,"= ? ") x = int(input(" a * b = ")) if x == a*b: score += 1 print("Правильно)",score) else: score -= 2 print("Не верно(",'Правильный ответ = ', a*b, score) return score def main(): score = load_score() while True: score = question(score) save_score(score) main()
Офлайн
JOHN_16Спасибо, идеально!
Например использовать сохранение результата в файл
Офлайн
Далее можете расширить упражнения на деление. ЧТо бы получились удобные примеры (без дробей) можно начат ьс реализации алгоритма тупого перебора используя оператор остатка удаления. У вас должна получиться функция которая умножает (она уже ест) и функция которая делит. А каждый новый вопрос это случайный выбор из умножения или деления ( random.choice вам помощь).
Офлайн