شعبده بازی با اعداد

پنجشنبه, ۲۳ فروردين ۱۴۰۳، ۱۰:۱۰ ب.ظ

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

اول یه تعداد بیتی رو مشخص میکنید براش مثلا ۴ بیت . به این عدد بیاین بگیم n . هر n دلخواه که وارد کردید ، یک عدد از بین ۱ تا 2n یکی کمتر تو ذهنتون در نظر بگیرید . حالا نرم افزار با پرسیدن n سوال از شما در مورد عضویت عدد ذهنیتون در یک لیست ، حدس میزنه عددی که در نظر گرفته بودید چیه . مثلا اگر n یا تعداد بیت رو اول اسکریپت بگید ۴ یک عدد باید از بین ۱ تا ۱۵ در نظر بگیرید و سپس ۴ تا سوال از شما پرسیده میشه . در هر سوال یک لیست از اعداد ۱ تا ۱۵ میذاره جلو شما و ازتون میپرسه آیا عدد انتخابی تو این لیست هست یانه  شما با y و n جواب میدید . بعد میگه این عدد ذهنی چی بوده .

اسکریپت رو اجرا کنید و خودتون تستش کنید باحاله :

n = int(input("Bit count (n) ? "))
print ("-" * 10)
print ("Choose a number from 1 to {}".format(2**n - 1))

cards = []

for _ in range (n):
    cards.append([])

for num in range ( 2 ** n):
    for i in range (n):
        number = num | (2**i)
        if number not in cards[i]:  cards[i].append(number)

result = 0
for i in range (n):
    print ()
    print ("List :",cards[i])
    q = input("({}/{})> is your number in the above list ? (y / n) ".format(i+1 , n)).lower()
    if q == 'y':
        result += cards[i][0]

print ("*"*10)
print ("YOUR NUMBER WAS [ {} ] :)".format(result))

 

اثبات ریاضیاتیشم خیلی باحاله . از اسکریپت میتونید متوجه بشید . اگر نیاز بود بگید تا در یک پست جدا توضیحش بدم که چجوری کار میکنه و این اعداد چجوری انتخاب میشن .

موافقین ۳ مخالفین ۰

کاش بیشتر توضیح بدین درموردش 

جالبه

داخل یک پست جدا کامل توضیحش میدم
ارسال نظر آزاد است، اما اگر قبلا در بیان ثبت نام کرده اید می توانید ابتدا وارد شوید.
شما میتوانید از این تگهای html استفاده کنید:
<b> یا <strong>، <em> یا <i>، <u>، <strike> یا <s>، <sup>، <sub>، <blockquote>، <code>، <pre>، <hr>، <br>، <p>، <a href="" title="">، <span style="">، <div align="">