پاسخ سوال چی‌سون؟ + کوئرا

پاسخ سوال چی‌سون؟ + کوئرا
پاسخ سوال چی‌سون؟ + کوئرا

پاسخ سوال چی‌سون؟ + کوئرا

در این نوشته تمرین “چی‌سون؟” که در وبسایت کوئرا موجود می باشد را برای شما کاربران عزیز حل کرده ایم.

 

 

در مورد سایت کوئرا بیشتر بخوانید…

 

تمرین چی‌سون؟ کوئرا + پایتون

در این سوال می‌خواهیم دو دستور ساده از یک زبان برنامه نویسی را شبیه‌سازی کنیم.

دستور اول، دستور := است. در سمت چپ این دستور اسم متغیر و در سمت راست آن مقداری که می‌خواهیم به متغیر بدهیم می‌آید. اسم متغیر یک رشته از حروف کوچک انگلیسی با حدکثر ۲۰ حرف است. مقدار متغیر می‌تواند به یکی از دو حالت زیر باشد.

  • یک لیست از اعداد باشد. شکل لیست این صورت است:[a_1, a_2, ..., a_n]

هر عضو یک عدد حداکثر تا ۱۰۰ است و بین هر کاراکتر , و عدد بعدی یک فاصله وجود دارد. و بین بقیه حرفا فاصله‌ای وجود ندارد. لیست حداکثر ۲۰ عضو دارد.

  • یک لغت‌نامه از رشته‌های عددی به اعداد باشد. شکل لغت‌نامه به این صورت است:{"k_1": v_1, "k_2": v_2, ... "k_n": v_n}

مقدار هر کلید (k_i) و هر مقدار (v_i) یک عدد حداکثر تا ۱۰۰ است. بعد هر حرف : و حرف , یک فاصله وجود دارد و جایی دیگری فاصله وجود ندارد. لغت‌نامه حداکثر شامل ۲۰ جفت می‌شود و همه‌ی مقدار‌های کلیدها متمایزند.

دستور دوم، دستور print است. دستور متغیر به شکل مقابل استفاده می‌شود:

print var[id]

بین دستور print و کلمه var یک فاصله وجود دارد و var نام متغیر و id اگر متغیر لیست باشد اندیس خانه‌ایست که باید چاپ شود و اگر متغیر لغت‌نامه باشد کلید مقداریست که باید چاپ شود. تضمین می‌شود متغیر داده شده قبلا مقداردهی شده باشد.

به شما یک برنامه که با دستورات توضیح داده نوشته شده، داده می‌شود. آن را اجرا کنید و خروجی را چاپ کنید.

ورودی سوال چی‌سون؟

در خط اول n آمده که تعداد خطوط برنامه است و در ادامه یک برنامه n خطی آمده‌است.

 

خروجی سوال چی‌سون؟

خروجی برنامه را چاپ کنید.

 

حل سوال چی‌سون؟ (به زبان برنامه نویسی پایتون)

import json

n = int(input())
l = {}
for i in range(n):
    s = input()
    if s.startswith("print"):
        nameidx = s.split(" ")[1].split("[")
        if nameidx[1][:-1].startswith("\""):
            print(l[nameidx[0]][nameidx[1][1:-2]])
        else:
            print(l[nameidx[0]][int(nameidx[1][:-1])])
    elif s.split(" ")[1] == ':=':
        l.update({s.split(" ")[0]: json.loads(s[len(s.split(" ")[0])+4:])})

 

 

منبع سوال : وبسایت کوئرا

 

اگر روش حل بهتری برای “تمرین چی‌سون؟” دارید برای ما ارسال کنید تا با نام خودتان به اشتراک بگذاریم.

اگر سوال خاصی را مدنظر دارید در بخش نظرات برای ما ارسال کنید تا حل آن سوال را در الویت محتوای سایت بگذاریم.

موفق باشید.

برای امتیاز به این نوشته کلیک کنید!
[کل: 0 میانگین: 0]