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

2

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

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

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

اگر یک دسته ورق ماهرانه بر خورده باشد، آنگاه هر کارت با احتمالی مساوي در هر جاي دسته  ورق ظاهر میشود و هر مکان در دسته، احتمال برابري براي شامل بودن هر کارت را دارد. به منظـور بـر زدن یـک دسـته ورق، مـا از تـابع randrange از مـاژول random اسـتفاده میکنیم. بـا دو آرگومـان صـحیح a و b ،randrange یـک عـدد صـحیح در بـازة b-<-x-<=-a انتخاب میکند. از آنجا که کران بالایی حتماً از b کمتر است، میتوانیم از طول لیست به عنوان پـارامتر دوم استفاده نماییم و تضمین کنیم که اندیس مجازي دریافت میکنیم. براي مثال، این عبـارت انـدیس یک کارت را در یک دسته ورق انتخاب میکند:

random.randrange(0, len(self.cards))

یک راه ساده براي بر زدن یک دسته ورق، پیمایش کارتها و جابجایی هر کارت بـا یـک کـارت تصادفی انتخاب شده از دسته است. امکان دارد کارتی با خودش جابجا شود، اما باز هم خـوب  اسـت. در حقیقت اگر از این امکان جلوگیري کنیم، ترتیب کارتها بهطور کامل اتفاقی نخواهد بود:

class Deck:

def shuffle(self):
import random
nCards = len(self.cards)
for i in range(nCards):
j = random.randrange(i, nCards)
self.cards[i], self.cards[j]=self.cards[j], self.cards[i]

بدون اینکه فرض کنیم در دسته ورق 52 کارت وجود دارد، طول واقعی لیسـت را مـیگیـریم و در nCards ذخیره میکنیم. براي هر کارت در دسته ورق، ما کارتی را از میان کارتها انتخاب میکنیم کـه تـا بـه حـال بـر نخورده باشد. آنگاه کارت جاري (i (را با کارت انتخابی (j (عوض میکنـیم. جهـت معاوضـۀ کـارتهـا همانطور که در بخش 9-2 دیدید از یک نسبتدهی چندتایی استفاده میکنیم:

self.cards[i], self.cards[j] = self.cards[j], self.cards[i]

تمرین 15-2 :این خط کد را بدون استفاده از نسبتدهی چندتایی بازنویسی کنید.

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

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

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

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

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

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