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

Chương trình Python để tìm điểm và tên của người chiến thắng trong trò chơi minion

Giả sử có hai người chơi Amal và Bimal. Họ đang chơi một trò chơi. Luật chơi như sau -

  • Cả hai trình phát đều có cùng một chuỗi s.

  • Cả hai đều phải tạo chuỗi con bằng cách sử dụng các chữ cái của s.

  • Số thập phân phải tạo ra các từ bắt đầu bằng phụ âm.

  • Amal phải tạo ra các từ bắt đầu bằng nguyên âm.

  • Trò chơi sẽ kết thúc khi cả hai người chơi đã thực hiện tất cả các chuỗi con có thể có.

Bây giờ tiêu chí tính điểm giống như:một người chơi được 1 điểm cho mỗi lần xuất hiện của chuỗi con trong chuỗi s. Chúng ta phải tìm ra người chiến thắng trong trò chơi này và điểm số của anh ấy.

Vì vậy, nếu đầu vào là s =​​"BANANA", thì đầu ra sẽ là Số thập phân, 12 vì

Từ:BANANA
Amal
Số thập phân (CHIẾN THẮNG)
Chuỗi con
Điểm
Chuỗi con
Điểm
A
3
B
1
AN
2
N
2
ANA
2
BA
1
ANAN
1
NA
2
ANANA
1
BAN
1


NAN
1


CHUỐI
1


NANA
1


BANAN
1


CHUỐI
1
Tổng 9
Tổng số 12

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

  • nguyên âm:=một tập hợp các nguyên âm
  • p1:=0
  • p2:=0
  • đối với mỗi chỉ mục i và ký tự c trong word, hãy thực hiện
    • nếu c là một nguyên âm thì
      • p2:=p2 + kích thước của từ - i
    • nếu không,
      • p1:=p1 + kích thước của từ - i
  • nếu p1> p2, thì
    • trả về 'Bimal', p1
  • ngược lại khi p2> p1, thì
    • return 'Amal', p2
  • nếu không,
    • trả về 'Vẽ'

Ví dụ

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

 def giải (word):nguyên âm =set ('AEIOU') p1 =0 p2 =0 cho i, c trong liệt kê (từ):nếu c trong nguyên âm:p2 + =len (word) - i else:p1 + =len (word) - i if p1> p2:return 'Bimal', p1 elif p2> p1:return 'Amal', p2 else:return 'Draw'word ="BANANA" print (giải (word))  

Đầu vào

 "CHUỐI" 

Đầu ra

 ('Bimal', 12)