Информатика · ҰБТ сұрағы №16263
Стектік калькулятор кері поляк жазбасындағы өрнекті орындайды (токендер бос орынмен бөлінген): st = [] def run(src): for t in src.split(): if t.isdigit(): st.append(int(t)) elif t == "dup": st.append(st[-1]) elif t == "swap": st[-1], st[-2] = st[-2], st[-1] else: b = st.pop() a = st.pop() st.append(a + b if t == "+" else a - b if t == "-" else a * b) return st[-1] Әр сұрақ алдыңғы сұрақтарға тәуелсіз, st жаңадан [] болып басталады деп есептеңіз (бір сұрақ ішіндегі шақырулар st-ті ортақ пайдаланады).

print(run("7 3 - 2 *")) қандай мән шығарады?

Дұрыс жауабы мен түсіндірмесі
Жауабы: 8

7 3 − → 4; 4 2 × → 8.

«Python программалау тілінде алгоритмдерді программалау» тақырыбынан тағы