View Full Version : تریس این کد
csharpprogramer88
دوشنبه 14 تیر 1395, 09:36 صبح
سلام
در محیط pycharm کد را نوشتم از بریک پوینت استفاده کردم ولی متاسفانه شیوه کارش مشخص نیست و من نتونستم متوجه بشم این کد مراحل اجراش چطوری هست . لطفا برا من توضیح بدید ببینم مراحل اجراش چیه :
for n in range(2, 10):
for x in range(2, n):
if n % x == 0:
print(n, 'equals', x, '*', n//x)
break
else:
# loop fell through without finding a factor
print(n, 'is a prime number')
plague
دوشنبه 14 تیر 1395, 20:41 عصر
دقیقا چیش رو مشکل داری ؟ اگه سینتکس پایتون رو بلد باشی خیلی ساده و سرراسته
دوتا حلقه تو در تو داره که حلقه اول یه عدد بین 2 تا 10 تولید میکنه (n)
حلقه دوم اعداد بین 2 تا n رو تولید میکنه تا با تقسیم اونها بر n چک میکنه که آیا n عدد اول هستش یا خیر (با چک کردن باقی مانده تقسیم که آیا 0 مشه یا خیر )
نتیجه نهایی هم پرینت میشه
plague
سه شنبه 15 تیر 1395, 13:33 عصر
سلام
ممنونم که جواب منو دادید ببینین من ی خورده قبلا C# کار کردم و for و if را اونجا یاد گرفتم والان که پایتون میخونم و میخام یاد بگیرم بخاطر اون چیزی که قبلا یاد گرفتم نمیتونم متوجه کد پایتون بشم و باهاش نمیتونم ارتباط برقرار کنم
یک دیباگر هم که تو محیط پای چارم داره ، عکس سوسک من اون را میزنم ولی معلوم نیست چطوری کار میکنه که بتونم با دیباگ بفهمم چی به چیه
مثلا
for n in range(2, 10):
الان برای این کد خب مرحله اول باید n باشه 2 ولی من وقتی تریس میکنم انگاری یک بار for اجرا میشه و n مقدار 3 میگیره بعد for دومی اجرا میشه . ممنون میشم اگر راهنماییم کنی
اولین عددی که حلقه اول تولید میکنه 2 هستش
حلقه دوم چون از 2 شروع میشه در اولین اجرا range(2,2) خواهد بود که هیچ عددی در این رنج وجود نداره و عملا اجرا نمیشه
vBulletin® v4.2.5, Copyright ©2000-1404, Jelsoft Enterprises Ltd.