سَعَد و حَمَد که در یک خوابگاه، هماتاقی هستند؛ از طبقهی همکف سوار آسانسور میشوند تا به طبقهای که اتاقشان در آن قرار دارد بروند. ولی هنگامی که سوار آسانسور میشوند؛ تصمیم به انجام بازی هیجانانگیزی میگیرند!
آسانسور خوابگاه آنها بدین صورت است که فقط دکمهی بالا و پایین دارد، دکمهی بالا، آسانسور را به یک طبقه بالاتر میبرد و دکمهی پایین، آسانسور را به یک طبقه پایینتر.
بازی به این صورت است که این دو نفر، ۴ بار فرصت دارند تا دکمهی پایین و بالای این آسانسور را فشار دهند. در نهایت، پس از اینکه ۴ بار دکمههای بالا و پایین آسانسور فشار داده شد؛ باید بفهمند که در کدام طبقه قرار دارند.
فرض میکنیم که طبقات منفی نیز داریم و آسانسور، حداکثر تا ۴ طبقه، زیر زمین نیز خواهد رفت.
حال تابع calculate_floor
را بهگونهای تکمیل کنید که با گرفتن یک رشتهی ۴ حرفی که شامل U
به معنای رفتن به طبقهی بالا و D
به معنای رفتن به طبقهی پایین است، شمارهی طبقهای که در نهایت به آن میرویم را بازگرداند.
دقت کنید که در ابتدای حرکت، در طبقهی همکف (شماره ۰) قرار داریم.
def calculate_floor(string):
pass
نمونه ۱
>>> calculate_floor('UUDU')
2
توضیحات نمونه
ابتدا در طبقهی همکف قرار داریم. سپس با دیدن حرف U
یک طبقه به بالا میرویم و در طبقهی ۱ قرار داریم. مجددا با دیدن حرف U
یک طبقهی دیگر به بالا میرویم و در طبقهی ۲ قرار داریم. حال با دیدن D
یک طبقه به پایین میرویم و در طبقهی ۱ قرار داریم. در نهایت با دیدن U
یک طبقه به بالا میرویم و در نهایت در طبقهی ۲ هستیم. پس عدد ۲ را بازمیگردانیم.
نمونه ۲
>>> calculate_floor('DDDD')
-4
توضیحات نمونه
ابتدا در طبقهی همکف قرار داریم. با هر بار مشاهدهی حرف D
، یک طبقه به پایین میرویم. پس با ۴ بار دیدن حرف D
، چهار بار به پایین میرویم و در نهایت در طبقهی ۴- قرار میگیریم. پس ۴- را بازمیگردانیم.
نکات
- میتوانید فایل اولیه این سوال را از این لینک دریافت کنید.
- شما باید تابع
calculate_floor
موجود در فایلcalculator.py
را تکمیل و سپس این فایل را ارسال کنید. - تابع شما نباید مقداری را چاپ کند، بلکه باید مقدار مورد نظر را بازگرداند.
- تضمین میشود که رشتههای ورودی، همیشه یک رشتهی ۴ حرفی متشکل از حروف
U
وD
میباشند.
ارسال پاسخ برای این سؤال