-
پنجشنبه, ۱۵ آبان ۱۳۹۹، ۱۰:۵۶ ب.ظ
-
۳۹۳
سورس کد :
print("Choose from 1 to 107 digits\n")
print("If your number is in the list, enter the letter y, otherwise enter the letter n\n")
list_card=[[1,3,5,7,9,11,13,15,17,19,21,23,25,27,29,31,33,35,37,39,41,43,45,47,49,51,53,55,57,59,61,63,65,67,69,71,73,75,77,79,81,83,85,87,89,91,93,95,97,99,101,103,105,107]
,[2,3,6,7,10,11,14,15,18,19,22,23,26,27,30,31,34,35,38,39,42,43,46,47,50,51,54,55,58,59,62,63,66,67,70,71,74,75,78,79,82,83,86,87,90,93,94,95,98,99,102,103,106,107]
,[4,5,6,7,12,13,14,15,20,21,22,23,28,29,30,31,36,37,38,39,44,45,46,47,52,53,54,55,60,61,62,63,68,69,70,71,76,77,78,79,84,85,86,87,92,93,94,95,100,101,102,103]
,[8,9,10,11,12,13,14,15,24,25,26,27,28,29,30,31,40,41,42,43,44,45,46,47,56,57,58,59,60,61,62,63,72,73,74,75,76,77,78,79,88,89,90,91,92,93,94,95,104,105,106,107]
,[16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95]
,[32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,96,97,98,99,100,101,102,103,104,105,106,107]
,[64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107]]
sum=0
count=0
for i in range(0,7):
print('\n')
card=list_card[i]
print(card)
x=input("\ny or n :")
if(x=='y'):
sum=sum+card[0]
else:
continue
print("\nYour chosen number is %s"%(sum))
توضیحات فرستنده راجع به اسکریپت :
سلام اول از همه بگم بنده اطلاع درستی از الگوریتمش ندارم برمیگرده به ریاضیات،این سورس کد هم برای تمرین نوشتم و گفتم به ادمین اطلاع بدم اگه به نظر ایشون جالب بود اپلود کنه یه کلیاتی ازش بگم یه سری کارت داشتم که ارقام 1 تا 107 به صورت خاصی روش نوشته شده بود من اول از همه اعداد مربوط به هرکارتی را با ترتیب خود کارت ریختم داخل لیست، یعنی هر لیست مربوط به یکی از اون کارت ها میشه من برای این ک هر دفعه نخام اسم متغییر را صدا بزنم که براتون لیست را برگردونه اومدم همه متغییر هارو ریختم توی یک لیست یعنی یک لیست که مقدار داخلیش چند لیست هست
x=[[1,2,3,5,9],[7,8,9,10],[2,3,9,28,58]]
برای مثال در بالا لیست اولی مقدار کارت اولی لیست دومی مقدار کارت دومی و ...
این کارو کردم چون راحت تر میشه با حلقه for روش مانور داد اول از همه اومدم لیست را برگردوندم اینجا کاربر یا کلمه ی y را وارد میکنه یا n اگه y بود میفهمم ک عدد انتخابیش تو لیست بوده پس باید اولین رقم سمت چپی اون لیست را بریزم توی یک متغییر ک من متغییر sum هست.
بعد میره سراغ لیست بعدی و برمیگردونه اگه عدد کاربر تو لیست باشه دوباره y را وارد میکنه و شرط برقرار میشه و اگه نباشه کاربر n را وارد میکنه و حلقه ادامه پیدا میکنه و میره لیست بعدی این روند همینطور تکرار میشه تا لیست ها تموم بشن و در نهایت میاد مقدار اول همه ی لیست هایی که با کلمه y داخل شرط رفتن را برمیگردونه ک میشه عدد انتخابی کاربر.
برای مثال
من عدد سه را انتخاب میکنم
و لیست اول این اعدا را برمیگردونه
1,2,3,5,9
میزنم y چون عدد ۳ داخل لیست هست برنامه میاد عدد 1را میریزه داخل متغییر sum بعد حلقه دوباره تکرار میشه و لیست دوم را نمایش میده
7,8,9,10
من میزنم n چون عدد سه داخل لیستی که چاپ شده نیست حلقه از اول تکرار میشه و میره لیست بعدی
2,3,9,28,58
اینجا بنده باز y را میزنم چون عدد انتخابی من در لیست وجود داره این روند همینطوری ادامه پیدا میکنه تا لیست تموم بشه در اخر میاد ارقام اول لیست هایی ک داخل شرط رفته بودن را باهم جمع میکنه و برمیگردونه ک میشه عدد انتخابی من به این صورت
از لیست اول
1
از لیست دوم
2
ک جمعشون میشه 3و برنامه هم همین عدد را برمیگردونه ک عدد انتخابی من بود.
جهت ارسال پروژه های خود :
پروژه ی خود به همراه توضیح آن ارسال کنید به :
mrpythonblog@gmail.com
Telegram Channel : @mrpythonblog