Темы нужно оформить по правилам форума.
Здравствуйте, вот проблема:
Хотя эта переменная есть, и хз почему не работает
Python:
Traceback (most recent call last):
File "Napominalka.py", line 109, in <module>
actions[x]()
File "Napominalka.py", line 90, in <lambda>
"1": lambda: program.deadline(),
File "Napominalka.py", line 60, in deadline
if self.now >= self.t:
AttributeError: 'program' object has no attribute 't'
Python:
import pickle
from datetime import datetime, date, time
import datetime
import time
import sys
import os
saved_name = None
try:
with open("user.txt", "r", encoding="utf-8") as f:
saved_name = f.read()
except:
pass
if saved_name:
print("Добрый день", saved_name)
else:
print("Добрый день, как вас зовут?")
name = input("Введите ваше имя\n|>")
with open("user.txt", "w", encoding="utf-8") as f:
f.write(name)
#Класс для облегчение программы
class program():
data = {}
#Функции для облегчение строение программы
def new(self):
self.clear = lambda: os.system("cls")
self.clear()
print("'''Создание напоминание'''")
print("Как называется напоминание?")
self.text = input(">")
with open("self.text.pickle", "wb") as f:
pickle.dump(self.text, f)
print("Укажите время и дату")
self.t = input("Вводите время в стиле ЧЧММCС\nВводите дату в стиле ДД/ММ/ГГГГ\n>")
self.t = datetime.datetime.strptime(self.t, "%H:%M:%S %d/%m/%Y")
print("Вы указали на:\n>", t)
def view(self):
print("<Список напоминаний>")
print("====")
with open("self.text.pickle", "rb") as f:
self.text_new = pickle.load(f)
print(self.text_new)
print("=====================")
def deadline(self):
while True:
self.now = datetime.datetime.now()
print("Сейчас время:".format(self.now.strftime("%d/%m/%Y %H:%M:%S")))
if self.now >= self.t:
print("Время вышло\n>", self.now)
break
time.sleep(1)
#def delete(self):
#def save(self):
#with open("data.pickle", "wb") as f:
def exit(self):
print("=====================")
print("Удачи!", saved_name)
sys.exit()
#Это для того чтобы пользователь сам мог добавить свое имя
#Запуск класса и функций
program = program()
actions = {
"1": lambda: program.new(),
"1": lambda: program.deadline(),
"2": lambda: program.delete(),
"3": lambda: program.view(),
"4": lambda: program.save(),
"5": lambda: program.exit()
}
while True:
print("Программа Напоминания")
print("=====================")
program.view()
print("1 - Создать напоминание")
print("2 - Удалить напоминание")
print("3 - Посмотреть напоминания")
print("4 - Сохранить и выйти")
print("5 - Выйти без сохранений")
x = input(">")
if actions.get(x):
actions[x]()
else:
print("!Нету такого действия!")
print()
Последнее редактирование модератором: