gALz
הי,
בתרגיל המאפיה הגדרתי ליסט של רולס
roles = [“Citizen”, “Cup”, “Killer”]
ומעוניין לייצר אינסטנסים בצורה דינאמית מהרולס האפשריים (לוקח רנדומלית).
הדרך שמצאתי היא עם הפקודה האסורה
player = eval(role)(user)
אשמח לקבל פתרון אלטרנטיבי מאשר לבדוק עם if’s
aviadamar
אתה יכול להשתמש בהם כמו שהם לא בstring … ואז הם ייצגו את המחלקות עצמן. למשל:
r = [Citizen, Cup, Killer]
ואז ליצור מופע כך:
r[0]('Aviad')
נגיד לקבל citizen בשם אביעד … לא יודע מה הכנסת שם לארגומנטים סתם עשיתי “שם” כדוגמא.
אבל כל ארגומנט יכול להיכנס שם.
3 לייקים
DissonantHarmony
לא היית מעדיף להשתמש במילון, כך שתוכל לנקוב בשם, ולא באינדקס? (למען הסדר).
לייק 1
gALz
עם מילון כן הייתי יכול ליצור אינסטנס לפי השם?
eyalmerav
aviadamar
זה עובד כמ משתנה אז כל מבנה נתונים יעבוד … ג םtuple לצורך העניין.
הבחירה איזה מהם תלויה באופן שאתה מרכיב את הקוד.
3 לייקים