در این سؤال از شما میخواهیم که کد زیر را در یک خط پیادهسازی کنید.
طول کدی که شما ارسال میکنید باید دقیقا یک خط باشد و در آن نمیتوانید از ;
یا تابع exec
استفاده کنید. حال ما از شما که خودتان را پایتون کار قهاری میدانید میخواهیم تا این سوال را حل کنید.
input_string = str(input())
array = []
for i in range(len(input_string)):
if (ord(input_string[i]) - 97) % 2 == 0:
array.append(input_string[i])
else:
array.append(input_string[i].upper())
array.sort(reverse=True)
answer = ' '.join(array)
print(answer)
توضیحات کد
ابتدا ورودی که یک رشته است را دریافت کرده و یک لیست ایجاد میکنیم.
سپس روی رشتهی دریافتی پیمایش میزنیم و در هر مرحله اگر نتیجه که حاصل تفریق ۹۷ از کد ascii حرف موردنظر است، بر ۲ بخشپذیر بود، حرف مورد نظر را به لیست اضافه میکنیم؛ در غیر اینصورت، آن حرف را به حرف بزرگ انگلیسی تبدیل کرده و سپس به لیست اضافه میکنیم.
پس از آن، اعضای لیست را به طور نزولی مرتب میکنیم و در نهایت اعضای لیست را در قالب یک رشته چاپ میکنیم.
- پیشنهاد میکنیم ابتدا یکبار کد فوق را اجرا کرده و آن را با ورودیهای نمونه امتحان کنید و خروجیهای مورد نظر را مشاهده کنید. سپس طبق اطلاعات بدست آمده، شروع به حل سؤال کنید.
ورودی
در تنها خط ورودی، یک رشته آمده است. $$1 \le |input_string| \le 100$$
خروجی
در تنها خط خروجی، حروف مورد نظر از رشتهی ورودی را که دارای شرایط گفته شده بودند را به ترتیب نزولی چاپ کنید. توجه کنید که بین هر دو حرف، باید یک فاصله وجود داشته باشد.
ورودی نمونه ۱
saeid
خروجی نمونه ۱
s i e a D
ورودی نمونه ۲
alexander
خروجی نمونه ۲
e e a a X R N L D
نکات
- میتوانید فایل اولیه این سوال را از این لینک دریافت کنید.
- تضمین میشود که رشتههای ورودی، تنها از حروف کوچک انگلیسی تشکیل شدهاند و شامل کاراکترهای Whitespace نیستند.
- در صورتی از این سؤال نمرهای دریافت خواهید کرد که تمام شروط خواسته شده را به درستی پیادهسازی کنید و کدتان تمام تستها را پاس کند. در صورتی که حتی یک تست را پاس نشوید، نمرهای از این تمرین دریافت نخواهید کرد.
نحوه ارسال
شما باید فایل source.py
را تکمیل و سپس این فایل را ارسال کنید.
ارسال پاسخ برای این سؤال