11
Pokaż ćwiczenia:
1
Ćwiczenie 1
R18F3gelSh0WK
Polecenie: który z podanych kodów można nazwać optymalnym. 1.# Program ma za zadanie wyszukać podaną liczbę w zbiorze. zbior = [5, 8, 12, 1, 4, 10, 18, 85, 69] szukana = 4 czyZnaleziona = False Możliwość wyboru: 1. for x in zbior: if x == szukana: czyZnaleziona = True print("Liczba znaleziona!") if czyZnaleziona == False: print("Podana liczba nie znajduje się w zbiorze") 2. for x in zbior: if x == szukana: czyZnaleziona = True print("Liczba znaleziona!") break if czyZnaleziona == False: print("Podana liczba nie znajduje się w zbiorze") 3. for x in zbior: if x == szukana: czyZnaleziona = True print("Liczba znaleziona!") break if czyZnaleziona == False: print("Podana liczba nie znajduje się w zbiorze")
1
Ćwiczenie 2
R1YAKgKO3iYix
Polecenie: Który kod przedstawia prawidłowe wykorzystanie break i continue? # Program sprawdza każdą liczbę ze zbioru, czy jest parzysta, a jeśli tak, to dodaje ją do sumy. Jeśli w zbiorze pojawi się element inny niż liczba (na przykład string), to program kończy iterować po zbiorze, ponieważ zbiór jest nieprawidłowy. zbior = [4, 3, 8, 9, 10, "13", 71, 35] suma = 0 Możliwości wyboru: 1.for x in zbior: print(x) if(isinstance(x, int) == False): break if x % 2 != 0: continue suma += x print("Suma: " + str(suma)) 2. for x in zbior: print(x) if(isinstance(x, int) == True): continue if x % 2 != 0: break suma += x print("Suma: " + str(suma)) 3. for x in zbior: print(x) if(isinstance(x, int) == False): continue if x % 2 != 0: continue suma += x print("Suma: " + str(suma))
1
Ćwiczenie 3
R15SPonTT9vFF
Polecenie: Która z podanych pętli wypisze poniższy wynik? slowo = "programista Python" #wynik: progrmist Możliwości wyboru: 1. for litera in slowo: if(litera == "a"): continue if(litera == " "): continue print(litera, end="") 2. for litera in slowo: if(litera == "a"): continue if(litera == " "): continue print(litera, end="") 3. for litera in slowo: if(litera == "a"): continue if(litera == " "): break print(litera, end="")
2
Ćwiczenie 4
RX49zZzFWLXcd
Która z podanych pętli z wykorzystaniem break będzie miała taki sam efekt, jak poniższa pętla? # Program znajdujący ucznia o imieniu Kuba i zmieniający jego imię na Jakub zbior = ["Joanna", "Marzena", "Wojciech", "Kuba", "Anna"] czyZnaleziony = False i = 0 while(czyZnaleziony != True): if(zbior[i] == "Kuba"): czyZnaleziony = True zbior[i] = "Jakub" i += 1 print(zbior) Możliwości wyboru: 1. for imie in zbior: if(imie == "Kuba"): imie = "Jakub" break print(zbior) 2. for indeks, imie in enumerate(zbior): if(imie == "Kuba"): zbior[indeks] = "Jakub" break print(zbior) 3. for imie in zbior: if(imie == "Kuba"): zbior[imie] = "Jakub" break print(zbior)
2
Ćwiczenie 5
RfnHHLd807wsq
Która z podanych modyfikacji kodu zoptymalizuje poniższy program? #Podany program sprawdza liczby od 10 do 20, czy są liczbami pierwszymi. for liczba in range(10, 20): czyPodzielna = False for i in range(2, liczba): if liczba % i == 0: print("Liczba {0} jest podzielna przez {1}".format(liczba, i)) czyPodzielna = True if(czyPodzielna == False): print("Liczba " + str(liczba) + " jest pierwsza!"); Możliwości wyboru: 1. for liczba in range(10, 20): czyPodzielna = False for i in range(2, liczba): if liczba % i == 0: print("Liczba {0} jest podzielna przez {1}".format(liczba, i)) czyPodzielna = True continue if(czyPodzielna==False): print("Liczba " + str(liczba) + " jest pierwsza!"); 2. for liczba in range(10, 20): czyPodzielna = False for i in range(2, liczba): if liczba % i == 0: print("Liczba {0} jest podzielna przez {1}".format(liczba, i)) czyPodzielna = True break if(czyPodzielna == False): print("Liczba " + str(liczba) + " jest pierwsza!"); 3. for liczba in range(10, 20): czyPodzielna = False for i in range(2, liczba): if liczba % i == 0: print("Liczba {0} jest podzielna przez {1}".format(liczba, i)) czyPodzielna = True if(czyPodzielna==False): print("Liczba " + str(liczba) + " jest pierwsza!"); break
3
Ćwiczenie 6
R1XxaedxpsdRx
Wybierz kod, który nie zadziała tak samo jak podany poniżej. # Program sumuje liczby, dopóki suma nie przekroczy 20 suma = 0 for liczba in range(50): if suma > 20: break if liczba % 5 == 0: suma += liczba print(suma) Możliwości do wyboru: 1. suma = 0 liczba = 0 while(suma < 20): if(liczba % 5 == 0): suma += liczba liczba += 1 print(suma) 2. suma = 0 for liczba in range(50): if suma < 20: if liczba % 5 == 0: suma += liczba print(suma) 3. for liczba in range(50, 5): if suma < 20: suma += liczba print(suma) 4. suma = 0 for liczba in range(0, 50, 5): if suma < 20: suma += liczba print(suma)
3
Ćwiczenie 7
R1UP9haxP0jyi
Który z podanych kodów jest poprawny? # Program sprawdza, czy w podanym wyrazie znajduje się litera "a" lub "A" wyraz = "iNfOrmAtyka" Możliwości do wyboru: 1. for litera in wyraz: print("Sprawdzam literę: " + litera) if(litera == "a"): print("Znaleziono!") break 2. for litera in wyraz: print("Sprawdzam literę: " + litera) if(litera == "a"): print("Znaleziono!") 3. for litera in wyraz: print("Sprawdzam literę: " + litera) if(litera.lower() == "a"): print("Znaleziono!") break
3
Ćwiczenie 8
Rl9iAVJ6IvgDg
Wskaż poprawny algorytm sprawdzania, czy liczba jest liczbą pierwszą. import math n = 23 # sprawdzana liczba Możliwości do wyboru: 1. czyPierwsza = False for x in range(2, (int)(math.sqrt(n))+1): if n % x == 0: czyPierwsza = False break czyPierwsza = True print(czyPierwsza) 2. czyPierwsza = False if n == 1: czyPierwsza = False else: for x in range(2, (int)(math.sqrt(n))+1): if n % x == 0: czyPierwsza = False break czyPierwsza = True print(czyPierwsza) 3. czyPierwsza = False if n == 1: czyPierwsza = False else: for x in range(2, (int)(math.sqrt(n))+1): if n % x == 0: czyPierwsza = False continue czyPierwsza = True print(czyPierwsza)
31
Ćwiczenie 9
R28g8XjwdFCOL
Napisz program sprawdzający, czy liczba znajduje się w zbiorze. Wykorzystaj instrukcję break do optymalizacji pętli. 1. def szukaj(zbior, liczba): 2. liczbaIteracji = 0 3. czyZnalezione = False 4. for x in zbior: 5. liczbaIteracji += 1 6. ### tutaj zmodyfikuj kod 7. 8. 9. 10. ### zwrócenie wyniku 11. return [czyZnalezione, liczbaIteracji] 12. 13. ### drukowanie testowego wyniku (dla liczby 12): 14. zbior = [2, 5, 6, 8, 10, 12, 42, 32, 22, 41, 7] 15. print(szukaj(zbior, 12)) Twoje zadania: Utwórz funkcję szukaj Zwróć True jeśli zadana liczba znajduje się w zbiorze, False gdy się nie znajduje oraz liczbę wykonanych iteracji za pomocą gotowego wywołania return [czyZnalezione, liczbaIteracji]

W wybranym edytorze napisz program sprawdzający, czy liczba znajduje się w zbiorze. Wykorzystaj instrukcję break do optymalizacji pętli.

Poniżej podano fragment kodu, który możesz wykorzystać do pracy:

Linia 1. def szukaj otwórz nawias okrągły zbior przecinek liczba zamknij nawias okrągły dwukropek. Linia 2. liczbaIteracji znak równości 0. Linia 3. czyZnalezione znak równości False. Linia 4. for x in zbior dwukropek. Linia 5. liczbaIteracji plus znak równości 1. Linia 6. kratka kratka kratka tutaj zmodyfikuj kod. Linia 10. kratka kratka kratka zwrócenie wyniku. Linia 11. return otwórz nawias kwadratowy czyZnalezione przecinek liczbaIteracji zamknij nawias kwadratowy. Linia 13. kratka kratka kratka drukowanie testowego wyniku otwórz nawias okrągły dla liczby 12 zamknij nawias okrągły dwukropek. Linia 14. zbior znak równości otwórz nawias kwadratowy 2 przecinek 5 przecinek 6 przecinek 8 przecinek 10 przecinek 12 przecinek 42 przecinek 32 przecinek 22 przecinek 41 przecinek 7 zamknij nawias kwadratowy. Linia 15. print otwórz nawias okrągły szukaj otwórz nawias okrągły zbior przecinek 12 zamknij nawias okrągły zamknij nawias okrągły.