smrp1980

کمک فوری درحل پروژه تمرین پایتون با استفاده از کلاس

smrp1980 ۱۳۹۷/۰۵/۱۰ مباحث عمومی برنامه‌نویسی

پروژهای که این هفته دارید در واقع مروری بر تمامی مباحثی که تا اینجا یاد گرفتیم. Object Oriented هست به علاوهی بحثدر این سیستم کار اصلی ارسال ایمیل و مشاهده آنهاست.این سیستم کارهای زیر را باید انجام دهد. ۱- هر کاربر جدیدی بتواند ثبت نام کند و ایمیل تکراری نباید ثبت کند.۲- باید با ایمیل و رمز خود وارد شود.۳- بتواند ایمیلهای خود را مشاهده کند.۴- ایمیل های خود را پاک کند.۵- ایمیل ارسال کند.Object Oriented نکتهی مهمی که در این پروژه هست، این هست که باید از روشاستفاده کنید.من یک راهنمایی کوتاهی که میکنم این است که کلاسهای زیر را حتما داشته باشید.User کلاسباشد .... SentBox و Inbox و Password و Username دارای نام ور دهد. e کاربر رمز را بتواند تغEmail کلاسفرستنده، گیرنده، موضوع و متنفیلد دیگری به عنوان خواندهشده در نظر بگیرید که بفهمید ایمیلی خوانده شدهیا خیر ...MailServer کلاسحاوی تمامی کاربران در سیستم باشد.سیستم ثبت نام باید توسط یکی از توابع این کلاس انجام شود.سیستم ورود و خروج از تابعهای این کلاس باشد.باید ارسال ایمیل را انجام دهد به صورتی که classmethod تابعی از نوعورودی آن سه پارامتر ( کاربر مبدا، کاربر مقصد، ایمیل) در واقع کلاسهای از نوعرا به عنوان ورودی دریافت کند. (User,User,Email)توجه : تنها یک شیٔ از این کلاس باید بسازید.را به صورت لیست در نظر بگیرید که حاوی تعدادی SentBox و Inbox : راهنماییهستند. Email شیء از نوعنکات دیگر:• ممکن است به سیستم به جور دیگری نگاه کنید و کلاسهای دیگری بخواهیدتعریف کنید ولی قبل از آن حتما از من سوال بپرسید.• باید لیستی از ایمیلها را برای کاربر نشان دهید و کاربر با انتخاب شماره آن متنشود. True کامل ایمیل را ببیند و مقدار خوانده شده آن• در ابتدای ورود کاربر تعداد ایمیلهای خوانده نشده را چاپ کنید.• اگر ایمیلی در سیستم نبود حتما پیام خطا دهید.کاربر مبدا قرار میگیرد. SentBox کاربر مقصد و در Inbox • ایمیل بعد از ارسال در

پاسخ‌ها به این تاپیک
kernel
kernel علاقمند به هک و امنیت ، یادگیری ماشین
۱۳۹۷/۰۵/۱۱

سلام ، وقتتون بخیر

بنظر بنده این گونه سوالات اصلا وجه خوبی برای پاسخگویی ندارند

چرا که کمک به حل این گونه مسائل صرفا باعث تنبلی و دور از کد بودن خود شما خواهد بود و در نهایت عدم یادگیری شما خواهد شد.

شما شروع به پیادی سازی پروژه درسی خودتون بشید و هر کجا که موردی برخورد کردین که نوانایی پیاده سازیش رو ندارید در اینجا مطرح کنید تا بتونیم باهم رو مسئله یپش آمده هم فکری بکنیم.

موفق باشید

smrp1980
smrp1980
۱۳۹۷/۰۵/۱۲

من این کد رو نوشتم اما بدون کلاس لطف میکنید راهنمایی کنید در صورتی که اگه بخوام با کلاس بنویسم چطوری میشه؟؟؟

#IN APP BRAYE MAIL SERVER HAST- 03/08/2018- MOHAMMAD REZAZADEH

# All accounts
users = {
"root": {
"password": "gucci-mane",
"group": "admin",
"mail": []
}
}

# Form validation
def validate(form):
if len(form) > 0:
return False
return True

# Login authorization
def loginauth(username, password):
if username in users:
if password == users[username]["password"]:
print("Login successful")
return True
return False

# Login
def login():
while True:
username = input("Username: ")
if not len(username) > 0:
print("Username can't be blank")
else:
break
while True:
password = input("Password: ")
if not len(password) > 0:
print("Password can't be blank")
else:
break

if loginauth(username, password):
return session(username)
else:
print("Invalid username or password")

# Register
def register():
while True:
username = input("New username: ")
if not len(username) > 0:
print("Username can't be blank")
continue
else:
break
while True:
password = input("New password: ")
if not len(password) > 0:
print("Password can't be blank")
continue
else:
break
print("Creating account...")
users[username] = {}
users[username]["password"] = password
users[username]["group"] = "user"
users[username]["mail"] = []
time.sleep(1)
print("Account has been created")

# Send mail
def sendmail(username):
while True:
recipient = input("Recipient > ")
if not len(recipient) > 0:
print("Recipient can't be blank")
continue
elif recipient not in users:
print("There is no account with that username")
continue
else:
break
while True:
subject = input("Subject > ")
if not len(subject) > 0:
print("Subject can't be blank")
continue
else:
break
while True:
context = input("Context > ")
if not len(context) > 0:
print("Context can't be blank")
else:
break
print("Sending mail...")
users[recipient]["mail"].append(["Sender: " + username, "Subject: " + subject, "Context: " + context])
time.sleep(1)
print("Mail has been sent to " + recipient)

# User session
def session(username):
print("Welcome to your account " + username)
print("Options: view mail | send mail | logout")
if users[username]["group"] == "admin":
print("")
while True:
option = input(username + " > ")
if option == "logout":
print("Logging out...")
break
elif option == "view mail":
print("Current mail:")
for mail in users[username]["mail"]:
print(mail)
elif option == "send mail":
sendmail(username)
elif users[username]["group"] == "admin":
if option == "user mail":
print("Whos mail would you like to see?")
userinfo = input("> ")
if userinfo in users:
for mail in users[userinfo]["mail"]:
print(mail)
else:
print("There is no account with that username")
elif option == "delete mail":
print("Whos mail would you like to delete?")
userinfo = input("> ")
if userinfo in users:
print("Deleting " + userinfo + "'s mail...")
users[userinfo]["mail"] = []
time.sleep(1)
print(userinfo + "'s mail has been deleted")
else:
print("There is no account with that username")
elif option == "delete account":
print("Whos account would you like to delete?")
userinfo = input("> ")
if userinfo in users:
print("Are you sure you want to delete " + userinfo + "'s account?")
print("Options: yes | no")
while True:
confirm = input("> ")
if confirm == "yes":
print("Deleting " + userinfo + "'s account...")
del users[userinfo]
time.sleep(1)
print(userinfo + "'s account has been deleted")
break
elif confirm == "no":
print("Canceling account deletion...")
time.sleep(1)
print("Account deletion canceled")
break
else:
print(confirm + " is not an option")
else:
print("There is no account with that username")
else:
print(option + " is not an option")

# On start
print("Welcome to the system. Please register or login.")
print("Options: register | login | exit")
while True:
option = input("> ")
if option == "login":
login()
elif option == "register":
register()
elif option == "exit":
break
else:
print(option + " is not an option")

# On exit
print("Shutting down...")

در پاسخ به