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

Chương trình tìm chữ số lớn thứ hai trong một chuỗi bằng Python

Giả sử chúng ta có một chuỗi chữ và số s, chúng ta phải tìm chữ số lớn thứ hai xuất hiện trong s, nếu không có chuỗi như vậy thì trả về -1.

Vì vậy, nếu đầu vào là s =​​"p84t3ho1n", thì đầu ra sẽ là 4 vì các chữ số là [1,3,4,8], vì vậy chữ số lớn thứ hai là 4.

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

  • lst:=một tập hợp mới

  • cho mỗi lần cho phép, hãy thực hiện

    • nếu let không phải là bảng chữ cái thì

      • chèn let as integer trong lst

  • nếu kích thước lst <=1, thì

    • trả về -1

  • trả về phần tử cuối cùng thứ hai sau khi sắp xếp lst

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

Ví dụ

def solve(s):
   lst = set()
   for let in s:
      if not let.isalpha():
         lst.add(int(let))
   if len(lst) <= 1:
         return -1
   return sorted(list(lst))[len(lst) - 2]
s = "p84t3ho1n"
print(solve(s))

Đầu vào

"hello", "hlelo"

Đầu ra

True