شعبده بازی با اعداد
یه اسکریپتی نوشتم شبیه یکسری از کارت های شعبده بازی که اسمشو نمیدونم .
اول یه تعداد بیتی رو مشخص میکنید براش مثلا ۴ بیت . به این عدد بیاین بگیم 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))
اثبات ریاضیاتیشم خیلی باحاله . از اسکریپت میتونید متوجه بشید . اگر نیاز بود بگید تا در یک پست جدا توضیحش بدم که چجوری کار میکنه و این اعداد چجوری انتخاب میشن .
کاش بیشتر توضیح بدین درموردش
جالبه