Computer >> Máy Tính >  >> Lập trình >> Python

Tìm một chuỗi sao cho mọi ký tự đều lớn hơn về mặt từ vựng so với ký tự tiếp theo ngay lập tức của nó trong Python

Giả sử chúng ta có một số n; chúng ta phải kiểm tra một chuỗi ký tự viết thường có độ dài n + 1 để ký tự ở bất kỳ vị trí nào phải lớn hơn về mặt từ vựng so với ký tự tiếp theo ngay lập tức của nó.

Vì vậy, nếu đầu vào là 15, thì đầu ra sẽ là ponmlkjihgfedcba.

Để giải quyết vấn đề này, chúng tôi sẽ làm theo các bước sau -

  • temp_str:=chuỗi trống
  • thêm:=n mod 26
  • nếu thêm> =1, thì
    • đối với tôi trong phạm vi 26 - (thêm + 1) đến 25, thực hiện
      • temp_str:=temp_str + str [i]
    • count:=n / 26 (phép chia số nguyên)
    • đối với tôi trong phạm vi 1 để đếm + 1, hãy thực hiện
      • đối với j trong phạm vi từ 0 đến 25, thực hiện
        • temp_str:=temp_str + str [j]
  • trả về temp_str

Ví dụ

Hãy cùng chúng tôi xem cách triển khai sau để hiểu rõ hơn -

def show_string(n, str):
   temp_str = ""
   extra = n % 26
   if (extra >= 1) :
      for i in range( 26 - (extra + 1), 26):
         temp_str += str[i]
   count = n // 26
   for i in range(1, count + 1) :
      for j in range(26):
         temp_str += str[j]
   return temp_str
n = 15
str = "zyxwvutsrqponmlkjihgfedcba"
print(show_string(n, str))

Đầu vào

15

Đầu ra

ponmlkjihgfedcba