WAP yang menerima dua string dan mengembalikan indeks semua kemunculan string kedua dalam string pertama sebagai daftar.

pemrograman


Saya tidak dapat memahami masalah ini….tolong buat saya memahami dan menulis program untuk menyelesaikan pertanyaan ini

Apa yang saya coba:

Saya tidak tahu bagaimana menjawab pertanyaan ini.

Solusi 1

Mulailah membaca tugas dengan cermat – ini mungkin berbeda dari “ringkasan” yang Anda berikan kepada kami.
Anda perlu menemukan kapan suatu string muncul di dalam string lain. Jadi jika Anda mencari semua kemunculan “halo” dalam “halo Mike, halo Jane, halo Peter” akan muncul tiga kali: “hello Mike, hello Jane, hello Peter” dan indeksnya adalah jumlah karakter dari awal string tempat substring muncul:

hello Mike, hello Jane, hello Peter
^           ^           ^
|           |           |
|           |            --- 24
|            --- 12
--- 0

Lalu tanyakan pada diri Anda “Bagaimana saya melakukan ini secara manual?”.
Anda akan menelusuri string untuk mencari “h” dan memeriksa apakah string tersebut diikuti oleh “e”, lalu “l”, dan seterusnya. Jika ya, Anda telah menemukan substring, jadi catat posisi awalnya.
Apa pun pilihannya, Anda kemudian akan beralih ke karakter berikutnya dan memeriksanya lagi.

Pikirkan aturan apa yang perlu Anda ikuti, dan cobalah aturan tersebut secara manual pada beberapa string dan substring yang berbeda. Bila Anda memiliki aturan yang mencakup semua kasus yang dapat Anda pikirkan (termasuk string kosong, kecocokan utuh, tidak ada kecocokan, dll.) maka pikirkan cara mengkomputerisasi aturan tersebut.

Jika Anda mengalami masalah saat memulai, ini mungkin bisa membantu: Cara Menulis Kode untuk Memecahkan Masalah, Panduan Pemula[^]

Solusi 2

Melihat Tipe Bawaan — dokumentasi Python 3.10.10[^] untuk informasi tentang menggunakan dan mengakses string.

Solusi 3

def find_indices(str1, str2):
indeks = []

untuk saya dalam jangkauan(len(str1)):
jika str1[i:i + len(str2)] == str2:
indeks.tambahkan(i)
kembalikan indeks jika indeks lain -1

コメント

タイトルとURLをコピーしました