Witaj szanowny Gościu na forum Odjechani.com.pl. Serdecznie zachęcamy do rejestracji. Tylko u nas tak przyjazna atmosfera. Kliknij tutaj, aby się zarejestrować i dołączyć do grona Odjechanych!

Strona odjechani.com.pl może przechowywać Twoje dane osobowe, które w niej zamieścisz po zarejestrowaniu konta. Odjechani.com.pl wykorzystuje również pliki cookies (ciasteczka), odwiedzając ją wyrażasz zgodę na ich wykorzystanie oraz rejestrując konto wyrażasz zgodę na przetwarzanie swoich danych osobowych w ramach funkcjonowania serwisu. Więcej informacji znajdziesz w naszej polityce prywatności. Pozdrawiamy!


Python - moje niewielkie kody
#1
Zakładam wątek analogiczny do tego: https://odjechani.com.pl/Thread-Moje-niewielkie-kody dotyczący Pythona. Będę umieszczał w nim kody krótkie kody, które albo będą fragmentami przyszłych większych projektów, albo kodami, które piszę dla siebie w ramach nauki. Może ktoś z tego skorzysta ;)
Na początku kod do szukania hashtagów przepisany z kodu w C++, który jest tutaj: https://odjechani.com.pl/Thread-Moje-nie...#pid151769

def findHashtags(str):
    isHashtag = 0
    theSame = 0
    tmp = ""
    if str[0]=='#' and str[1].isalnum():
        tmp += str[1]
        isHashtag = 1
    for i in range(2, len(str), 1):
        if isHashtag == 1:
            if str[i].isalnum():
                tmp += str[i]
            else:
                isHashtag = 0
        if str[i]=='#' and not str[i-1].isalnum() and str[i+1].isalnum():
            if tmp:
                print(tmp)
            tmp = ""
            isHashtag = 1
            
    print(tmp)
myString = "#Lorem ipsum #dolor sit amet, consectetur adipiscing elit. #Curabitur maximus semper interdum. Sed luctus facilisis #commodo."
findHashtags(myString)
Sortowanie bąbelkowe, napisane w celu nauki absolutnych podstaw:

x = [1, 2, 3, 4, 5]
y = [7, 9, 1, 6, 8]

def f(a):
    for i in range(len(a)-1):
        for j in range(len(a)-1):
            if a[j]<a[j+1]:
                a[j], a[j+1] = a[j+1], a[j]
    print(a)
f(x)
f(y)
  Odpowiedz
#2
Prosta baza danych zrobiona w celu przećwiczenia sobie paru rzeczy w tym języku.
class c_osoba:
    id = 0
    id_imie = 0
    nazwisko = ''
class c_imie:
    id_imie = 0
    imie = ''
osoby = []
imiona = []
def owtorzImiona():
    global imiona
    str_tmp = ''
    with open('imiona.txt', 'r') as fp:
        for line in fp:
            line = line[:-1]
            imiona.append(c_imie())
            for i in line:
                if i == ';':
                    imiona[-1].id_imie = int(str_tmp)
                    str_tmp = ''
                else:
                    str_tmp += i
            imiona[-1].imie = str_tmp
            str_tmp = ''
def owtorzOsoby():
    global osoby
    str_tmp = ''
    pole = 0
    with open('osoby.txt', 'r') as fp:
        for line in fp:
            osoby.append(c_osoba())
            for i in line:
                if i == ';':
                    if pole == 0:
                        osoby[-1].id = int(str_tmp)
                        pole += 1
                    elif pole == 1:
                        osoby[-1].id_imie = int(str_tmp)
                    str_tmp = ''
                else:
                    str_tmp += i
            osoby[-1].nazwisko = str_tmp[:-1]
            pole = 0
            str_tmp = ''
def pokazOsoby():
    for i in osoby:
        for j in imiona:
            if j.id_imie == i.id_imie:
                print(i.id, j.imie, i.nazwisko)
    print('')
def pokazOsobyZImieniem():
    idImienia = 0
    imie = input('Podaj imie: ')
    for i in imiona:
        if imie == i.imie:
            idImienia = i.id_imie
            break
    else:
        print('Brak imienia w bazie.\n')
        return
    for i in osoby:
        if i.id_imie == idImienia:
            print(i.nazwisko)
    print('')
def pokazTabeleOsoby():
    for i in osoby:
        print(i.id, i.id_imie, i.nazwisko)
    print('')
def pokazTabeleImiona():
    for i in imiona:
        print(i.id_imie, i.imie)
    print('')
def dodajImie():
    imie = input('Podaj imie: ')
    imiona.append(c_imie())
    imiona[-1].imie = imie
    imiona[-1].id_imie = imiona[-2].id_imie + 1
def dodajOsobe():
    nazwisko = input('Podaj nazwisko: ')
    id_imie = int(input('Podaj id imienia: '))
    osoby.append(c_osoba())
    osoby[-1].id = osoby[-2].id + 1
    osoby[-1].id_imie = id_imie
    osoby[-1].nazwisko = nazwisko
def usunImie():
    imie = input('Podaj imie: ')
    for i in range(len(imiona)):
        if imiona[i].imie == imie:
            del imiona[i]
            break
    else:
        print('Brak podanego imienia')
def usunOsobe():
    nazwisko = input('Podaj nazwisko: ')
    for i in range(len(osoby)):
        if osoby[i].nazwisko == nazwisko:
            del osoby[i]
            break
    else:
        print('Brak osoby o podanym nazisku')
def zapiszImiona():
    f = open('imiona.txt', 'w')
    for i in imiona:
        f.write(str(i.id_imie)+';'+i.imie+'\n')
    f.close()
def zapiszOsoby():
    f = open('osoby.txt', 'w')
    for i in osoby:
        f.write(str(i.id)+';'+str(i.id_imie)+';'+i.nazwisko+'\n')
def menu():
    print('0 - Pokaz tabele, 1-Zapisz tabele, 2-Dodaj imie, 3-Dodaj osobe, 4-Usun imie, 5-Usun osobe, 6-Pokaz osoby z danym imieniem, 7-wyjdz, 8-Pokaz menu, 9-Pokaz osoby')
#Poczatek wywolan funkcji
wybor = 0
menu()
owtorzImiona()
owtorzOsoby()
while 1:
    wybor = int(input('Wybierz opcje: '))
    if wybor == 4:
        usunImie()
    if wybor == 2:
        dodajImie()
    if wybor == 1:
        zapiszImiona()
        zapiszOsoby()
    if wybor == 3:
        dodajOsobe()
    if wybor == 5:
        usunOsobe()
    if wybor == 0:
        pokazTabeleOsoby()
        pokazTabeleImiona()
    if wybor == 6:
        pokazOsobyZImieniem()
    if wybor == 7:
        exit(0)
    if wybor == 8:
        menu()
    if wybor == 9:
        pokazOsoby()


Przykładowe pliki, kolejno "imiona.txt" oraz "osoby.txt":
1;Jan
2;Janusz
11;2;Kowalski
22;1;Nowak
33;1;Testowy
BTW. Kod ma powiedzmy średnią jakość, ale pisałem go tylko w celach czystko edukacyjnych.
  Odpowiedz


Skocz do:


Użytkownicy przeglądający ten wątek: 1 gości