السلام عليكم, بالنسبة للناس الي سوت تحدي الوحدة الاولى بالمستوى المتقدم, انا عالق بالتحدي المتوسط ومش عارف ايش اعمل, محتاج تلميح او اثنين عشان امشي الدنيا
قولي التحدي كان ايه ؟
التحدي المتوسط، كان عبارة عن تسجيل يوزر بالكلاس،
محتاج تلميح فقط تذكر
بص هتعمل كلاس لليوزي الكلاس يحتوي علي 2 فانكشنز
فانكشن بتاع ال
init
و التانيه هتبقي خاصه بعرض اليوزرس
و برا الكلاس عندك 1 فانكشن :
بتعمل انشاء ليوزر لما تستدعيها بتطلب منك بيانات اليوزر اللي هتضيفه و هتعملك :
return
باالابجيكت بتاع اليوزر اللي اتضاف
و بعدين عندك بقا ال :
while loop
بص ممكن تاخد بصه هنا لو معرفتش :
بص هنا
import os
import time
def clrear():
os.system('cls'if os.name == 'nt' else 'clear')
class User:
def __init__(self,frist_name,last_name,email,password,status='inactive'):
self.frist_name = frist_name
self.last_name = last_name
self.email = email
self.password = password
status = status
def display(self):
print (f"frist name : {self.frist_name}")
print (f"last name : {self.last_name}")
print (f"email : {self.email}")
print (f"password : {self.password}")
def creat_user():
frist_name = input ("Enter your frist name : ")
last_name = input ("Enter the last name : ")
email = input ("Enter your email : ")
password = input ("Enter your password : ")
print ("\nUser Adedd Successfully!\n")
return User(frist_name,last_name,email,password)
users = []
while True :
clrear()
chos = input ("""Choose from this list:
1- Add a User
2- show list
3- exit
-------> """)
if chos == '1':
users.append(creat_user())
time.sleep(2)
elif chos == '2':
if users:
print ("Displaying all users ... ")
time.sleep(1)
for i in users:
print()
print("----------------------------")
i.display()
print("----------------------------")
print()
time.sleep(2)
else:
print("there is no users yet.")
time.sleep(2)
else:
print ("Exiting //// ")
break
يسطا بس في مشكلة
دا كلو عرفت اعملو، المشكلة انو لازم اخزن المعلومات دي وانا معرفتش ازاي
خزنها في ليست او في قاموس زي دا :
الحل بستخدام قاموس
class User:
def __init__(self,num1,frist_name,last_name,email,password,status='inactive'):
self.num1 = num1
self.frist_name = frist_name
self.last_name = last_name
self.email = email
self.password = password
status = status
def save(self):
the_list[self.num1] = {
"fname":self.frist_name,
"lname":self.last_name,
"email":self.email,
"password":self.password,
}
num1 = 0
the_list = {}
def creat_user():
global num1
num1 += 1
frist_name = input ("Enter your frist name : ")
last_name = input ("Enter the last name : ")
email = input ("Enter your email : ")
password = input ("Enter your password : ")
print ("\nUser Adedd Successfully!\n")
return User(num1,frist_name,last_name,email,password)
while True :
chos = input ("""Choose from this list:
1- Add a User
2- show list
3- exit
-------> """)
if chos == '1':
user = creat_user()
user.save()
elif chos == '2':
if the_list:
for key,value in the_list.items():
print()
print("----------------------------")
print (f"User: {key}")
print (f"Frist name: {value['fname']}")
print (f"Last name: {value['lname']}")
print (f"Email: {value['email']}")
print (f"Password: {value['password']}")
print("----------------------------")
print()
else:
print("there is no users yet.")
else:
print ("Exiting //// ")
break
و بعدين صباح الفل منا ف الحل الاول عاملك ليست اهي اسمها users و حافظين فيها اليوزرس كلهم
تقصد انك تبي تخزن المعلومات في ملف خارجي؟؟ هذه في الوحده السادسة من المستوى الثاني مب الوحدة الاولى
هلا عبدالله، خبرني بالمشكله أو الصعوبه إلي واجهتها في الحل ونحن بنساعدك
نعم مشكلتي كانت اني ما عرفت بخزن الكائنات في قائمة، تخيلت انه بيحتفظ بالتنسيق ويصير عندي مشاكل في الطباعة، توقعت كثير اشياء، فالاخير المستر ابراهيم عمل شرح توضيحي للعناصر داخل القائمة وكيف رح يكون شكلهم، واظن اني مستعد اعمل التحدي الثالث بسهولة ان شاء الله
منتبهتش لاني ما تخيلت الحل رح يكون بالبساطة هذي