خروجی و جدول Trace برنامه (تمرینهای درسمن)

سوال

کد زیر رو بررسی کنید و خروجی آنرا حدس بزنید(بدون استفاده از مفسر پایتون) سپس کد را با مفسر تست و نتیجه را مقایسه کنید.

در حال بررسی 0
مهدی عباسی 3 سال 5 پاسخ ها 1127 دیده شده 4

پاسخ ها ( ۵ )

  1.  

  2. کلیت برنامه بدین صورته که تابع دوم مشخص میکنه که آیا رشته دریافتی، منفی یا مثبت اگر مثبت باشه که کل اون رشته رو بدون تغییر میفرسته برای تابع اول اما اگر منفی باشه (یا به تعبیری بهتر در خانه اول رشته، کاراکتر – وجود داره) از خانه اول به بعد اون رشته رو میفرسته برای تابع اول و از کاراکتر منفی صرف نظر میکنه

    تابع اول ابتدا رشته دریافتی رو بررسی میکنه و ممیز یا همون دات (.) رو برمیداره و جای اون هیچی نمیزاره و این کار رو هم فقط یکبار انجام میده، سپس بررسی میکنه که آیا تمامی کاراکتر های موجود در رشته دریافتی عدد هستند یا نه اگر باشه که True برمیگردونه و اگر نباشه که False برمیگردونه

    در این برنامه ابتدا رشته ۱۸٫۲۳ ارسال میشه و تابع دوم چک میکنه میبینه منفی نیست و بدون تغییر ارسال میکنه برای تابع اول و تابع اول اون رو تبدیل میکنه به ۱۸۲۳ و سپس مشخص میشه که تمامی کاراکتر رشته دریافتی، عدد و True برمیگردونه

    سپس رشته ۴۱٫۸۱۹- ارسال میشه و تابع دوم بررسی میکنه میبینه که منفیه پس از خانه اول به بعدش رو ارسال میکنه برای تابع اول یعنی ۴۱٫۸۱۹ و تابع اول هم ممیز رو برمیداره و تبدیل میکنه به ۴۱۸۱۹ و سپس مشخص میشه که تمامی کاراکتر رشته دریافتی، عدد و مجددا True برمیگردونه

    اما در دفعه سوم رشته ۳۹۱۰c5.62 ارسال میشه به تابع دوم و تابع دوم بررسی میکنه میبینه منفی نیست پس بدون تغییر میفرسته به تابع اول و تابع اول ابتدا اون رو تبدیل میکنه به ۳۹۱۰c562 و سپس می خواد بررسی کنه که کاراکتر های رشته دریافتی تماما عدد که مشخص میشه به دلیل وجود c این رشته تماما عدد نیست برای همین False برمیگردونه

  3.  

ارسال یک پاسخ