چاپ یک دسته ورق به چه صورت انجام میگیرد ؟

2

چاپ یک دسته ورق به چه صورت انجام میگیرد ؟ 

کیانا ابراهیمی سوال پاسخ داده شده اکتبر 15, 2020
گذاشتن نظر
0

چاپ یک دسته ورق به چه صورت انجام میگیرد ؟ 

طبق معمول، هر گاه شیئی از یک نوع جدید را تعریف میکنیم، به متدي احتیـاج داریـم کـه محتـواي شیء را چاپ کند. براي چاپ یک Deck لیست را پیمایش کرده و هر Card را چاپ مینماییم:

class Deck:…
def printDeck(self):
for card in self.cards:
print card

در اینجا و از این پس، علامت سهنقطه (…) نشان میدهد که ما متدهاي دیگـر را در کـلاس حذف کردهایم. راه دیگري براي printDeck ،نوشتن یک متد __str __براي کلاس Deck است. مزیت __str __انعطافپذیري بیشتر آن است. مهمتر از چاپ محتـوا اینکـه، ایـن کـار یـک نمـایش رشتهاي تولید میکند که میتواند توسط بخشهاي دیگـر برنامـه قبـل از چـاپ دسـتکاري و یـا بـراي استفادههاي بعدي ذخیره شود. در اینجا نسخهاي از __str __را میبینید که نمایش رشتهاي یک Deck را برمیگرداند. این متد کارتها را به صورت آبشاري میچیند که در این حالت هر کارت بـه انـدازة یـک فاصـله بیشـتر از کارت قبلی کنگرهگذاري شده است:

class Deck:

def __str__(self):
s = “”
for i in range(len(self.cards)):
s = s + ” “*i + str(self.cards[i]) + “ ”
return s

این مثـال چنـدین خصیصـه را نمـایش مـیدهـد. اول، بـه جـاي پیمـایش cards.self و نسبتدهی هر کارت به یک متغیر، از i به عنوان یک متغیـر حلقـه و اندیسـی بـراي لیسـت کـارتهـا استفاده میکنیم. دوم، ما از ضرب رشتهها استفاده میکنیم تا هر کارت را با یک فاصـله بیشـتر نسـبت بـه قبلـی کنگرهگذاري کنیم. سوم، به جاي استفاده از دسـتور print بـراي چـاپ کـارتهـا، از تـابع __str __اسـتفاده میکنیم. ارسال یک شیء به str بهعنوان یک آرگومان، معادل احضار متد __str __بـر روي شـیء است. در نهایت ما از متغیر s به عنوان یک انباشتگر استفاده میکنیم. در آغـاز s یـک رشـتۀ تهـی است. در هر بار اجراي حلقه یک رشتۀ جدید تولید میشود و به مقـدار قبلـی s مـیپیونـدد تـا مقـدار جدیدي بگیرد. زمانی که حلقه پایان مییابد، s حاوي نمـایش رشـتهاي و کامـل Deck مـیباشـد کـه به صورت زیر است:

>>> deck = Deck()
>>> print deck
Ace of Clubs
2 of Clubs
3 of Clubs
4 of Clubs
5 of Clubs
6 of Clubs
7 of Clubs
8 of Clubs
9 of Clubs
10 of Clubs
Jack of Clubs
Queen of Clubs
King of Clubs
Ace of Diamonds

و به همین صورت حتی اگر نتیجه در 52 خط چاپ شود، تنها یک رشتۀ طولانی است که شامل کاراکترهاي خـط جدید میباشد.

برای اموزش های ویدیویی زبان پایتون به بستر ویدیو های اموزشی بروید

بستر اموزش های ویدویی 

کیانا ابراهیمی سوال پاسخ داده شده اکتبر 15, 2020
گذاشتن نظر
پاسخ خود را بنویسید .
  • فعال
  • بازدیدها1077 times
  • پاسخ ها1 پاسخ
ورود به متاورس | متاورس ایرانی
ورود به متاورس ایران یا همان متاورس ملی

علامت ذره بین Tutorials سمت راست به رنگ قرمز به شما کمک خواهد کرد .

جدید ترین سوالات پرسیده شده

منقضی شدن سم بتانال 1 پاسخ | 0 آرا
ایا ایدز گزفتم؟ 0 پاسخ ها | 0 آرا
انتخاب ورزش رزمی 0 پاسخ ها | 1 رای
وزارت تعاون کار و رفاه اجتماعی نماد اعتماد الکترونیک اسناد و املاک کشور مرکز آموزش ویدیویی انجمن حم فروشگاه ملی تولید کنندگان مدیریت بر مدیران حم سامانه حیوانات رسانه ملی اخبار متا دانشگاه متاورس استخدام | دانش فروشگاه حم تبلیغات ملی بازار NFT متاورس رنگ نقشه ملی سه بعدی متا املاک و مستغلات