Liste işlemleri append()-remove()-pop()

Merhaba,

Aşağıdaki code bloğu ne yapıyor?

list1 ‘de olan string tuşlandıysa onu list1 ‘de remove ediyor.

list1 ‘de olmayan string tuşlandıysa onu list1 ‘e append ediyor.

Herhangi bir string tuşlamadan enter’a tıklandıysa, list1’in sonuncu index’e sahip elementini kesiyor( pop() )

Listeyi kese kese bitirmek için while loop eklenebilir.

###Variables###
list1 = ['hen', 'cat', 'goat', 'cat', 'bird', 'cat', 'horse', 'goat', 'cat', 'horse', 'cow', 'ox', 'hen','deer']
print("Look at all animals",list1)

###list o matic fuction###
def listematic(str1,list1=[]):
    if not str1:
        kesilen = list1.pop()
        #print(kesilen,"popped from the list")
        return kesilen+' '+'popped from the list'
    if str1 in list1:
        list1.remove(str1)
        #print("1 instance of",str1 ,"removed from list")
        return '1 instance of'+' '+str1+' '+'removed from list'
    else:
        list1.append(str1)
        #print("1 instance of", str1, "appened to list")
        return '1 instance of'+' '+str1+' '+"appened to list"

###Program Flow###
#while True: --> son satır ve bunu bonus olarak kullanabilirsiniz,listeyi birer birer keser. Bu ve son satır arasındaki
#code'un indentation level'ini düzeltiniz.
if list1:
    str1 = input("Hayvan ismi giriniz :")
    if str1 == "Quit":
        print("Goodbye")
    else:
        print(listematic(str1,list1))
        print(list1)
else:
    print("Goodbye")
#   break

Herkese sorunsuz ve neşeli günler dilerim.

Kelimelere ayıralım ve sonuncu space ‘i düşünelim :)

 

Merhaba ,

Aşağıdaki code ile verilen string içinde, belli bir harften büyük bir harf ile başlayan kelimeleri bulabilirsiniz. Sonuncu space ‘ten sonraki kelime için .rfind( ) metodu kullanılabilir. Onu kullanmadan bulmaya çalıştım.

input_phrase = "Wheresoever you go, go with all your heart"
word = ""
start = 0
space_index = input_phrase.find(" ")
for i in input_phrase:
        if i.isalpha():
            word = word + i
            if space_index != -1:
                start = space_index + 1
                space_index = input_phrase.find(" ", space_index + 1)
        elif word.lower() >= "h":
            print(word.upper())
            word = ""
        else:
            word = ""
print(input_phrase[start:].upper())

Text içinde string aramak .find( )

Merhaba,

Text içinde geçen bir string‘in index numarası bulmak.

work_tip = "A snippet is a small chunk of PHP code that you can use to extend the " \
           "functionality of a WordPress-powered website; essentially a mini-plugin with " \
           "less load on your site. Most snippet-hosting sites tell you to add snippet code " \
           "to your active theme's functions.php file, which can get rather long and messy after a while."
code_index =work_tip.find("code")
while code_index > 0:
    print("'snippet' is at index",code_index)
    code_index = work_tip.find("snippet",code_index+1)
    if code_index == -1:
        print("no more 'snippet'")

work_tip text’i içinde geçen ‘snippet’ string’inin index numaralarını gösterir. Çıktısı aşağıdaki gibidir.

‘snippet’ is at index 34
‘snippet’ is at index 176
‘snippet’ is at index 214
no more ‘snippet’