Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import random
- my_list = []
- for i in range(20):
- value = random.randint(1, 100)
- my_list.append(value)
- # [10, 5, 8, 3, 15, 12, 17, 4, 9, 6, 19, 2, 7, 14, 16, 18, 20, 13, 11, 1]
- #========================================================
- def bubble_sort(arr):
- n = len(arr)
- # iterujemy przez wszystkie elementy listy
- for i in range(n):
- # ostatnie i elementów są już posortowane
- for j in range(0, n-i-1):
- # porównujemy sąsiednie elementy
- if arr[j] > arr[j+1]:
- # zamieniamy miejscami, jeśli kolejność jest nieprawidłowa
- arr[j], arr[j+1] = arr[j+1], arr[j]
- return arr
- #========================================================
- def linear_search(arr, x):
- n = len(arr)
- for i in range(n):
- if arr[i] == x:
- return i
- return -1
- #========================================================
- def binary_search(arr, x):
- low = 0
- high = len(arr) - 1
- mid = 0
- while low <= high:
- mid = (high + low) // 2
- if arr[mid] < x:
- low = mid + 1
- elif arr[mid] > x:
- high = mid - 1
- else:
- return mid
- return -1
- #========================================================
- # funkcja sortująca bubble sort
- def bubble_sort(arr):
- n = len(arr)
- for i in range(n):
- for j in range(0, n-i-1):
- if arr[j]["nazwisko"] > arr[j+1]["nazwisko"]:
- arr[j], arr[j+1] = arr[j+1], arr[j]
- # lista kontaktów
- kontakty = []
- # pętla programu
- while True:
- print("1. Dodaj nowy kontakt")
- print("2. Wyświetl listę kontaktów")
- print("3. Wyjdź z programu")
- wybor = input("Wybierz opcję: ")
- # dodawanie nowego kontaktu
- if wybor == "1":
- imie = input("Podaj imię: ")
- nazwisko = input("Podaj nazwisko: ")
- numer = input("Podaj numer telefonu: ")
- kontakt = {"imie": imie, "nazwisko": nazwisko, "numer": numer}
- kontakty.append(kontakt)
- bubble_sort(kontakty)
- print("Kontakt został dodany.")
- # wyświetlanie listy kontaktów
- elif wybor == "2":
- if len(kontakty) == 0:
- print("Brak kontaktów.")
- else:
- print("Lista kontaktów:")
- for kontakt in kontakty:
- print(f"{kontakt['nazwisko']} {kontakt['imie']} - {kontakt['numer']}")
- # wyjście z programu
- elif wybor == "3":
- break
- # błąd - nieznana opcja
- else:
- print("Nieznana opcja.")
- #========================================================
- import random
- def binary_search(low, high, guess):
- mid = (low + high) // 2
- print("Czy to jest liczba", guess, "?")
- response = input("Podaj odpowiedź (za mało/za dużo/tak): ")
- if response == "za mało":
- return binary_search(mid + 1, high, (mid + 1 + high) // 2)
- elif response == "za dużo":
- return binary_search(low, mid - 1, (low + mid - 1) // 2)
- else:
- return guess
- # losujemy liczbę z zakresu 1-100
- number = random.randint(1, 100)
- print("Wylosowana liczba to", number)
- # komputer zgaduje
- guess = 50
- result = binary_search(1, 100, guess)
- print("Zgadłem! Wylosowana liczba to", result)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement