Стектік калькулятор кері поляк жазбасындағы өрнекті орындайды (токендер бос орынмен бөлінген):
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 программалау тілінде алгоритмдерді программалау» тақырыбынан тағы
- Келесі кодтың орындалу нәтижесін көрсетіңіз: a = list(range(10)) a[::3] = [0, 0, 0, 0] del a[1::4] print(a)
- Python кодының нәтижесін анықтаңыз: i = 7 fs = [lambda x, k=i: x * k + i for i in range(3)] print([f(10) for f...
- Python модулін оның мақсатымен сәйкестендіріңіз.
- Қандай мән экранға шығады? class C: n = [] def __init__(self, v): self.v = v self.n.append(v) a = C(1) b = C(2...
- print(run("12 4 /")) қандай мән шығарады?
- print(len(rows), repr(rows[3]["score"])) қандай нәтиже шығарады?
- Программа экранға не шығарады? def f(): for i in range(3): try: if i == 1: continue if i == 2: return "r" fina...
- Программа экранға не шығарады? a = [1, 2, 2, 3, 2, 4] for x in a: if x == 2: a.remove(x) print(a)