من رفتم سربازی اگر محتوای منو دوست داشتید و بدردتون خورد از من حمایت مالی کنید

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

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

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

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

 

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

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

  • یک لیست از اعداد باشد. شکل لیست این صورت است:[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:])})

 

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

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

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