Zad 1.
Niech even = range(2, 100, 2)
. Korzystając z operatora splat (*
):
- przypisz trzy pierwsze elementy zmiennym
a, b, c
, a pozostałe zmiennejd
- przypisz trzy pierwsze elementy zmiennym
a, b, c
, a pozostałe zmiennej_
- stwórz zmienne
start
iend
, które odpowiednio przyjmą wartość pierwszego i ostatniego elementu - stwórz nową listę, która będzie zawierać wszystkie elementy oprócz pierwszego i ostatniego
Zad 2.
Wykorzystaj listę składaną (list comprehension), aby stworzyć sekwencję kwadratów liczb naturalnych mniejszych od 100. Następnie (korzystając z enumerate) wydrukuj na ekranie:
1 -> 1
2 -> 4
3 -> 9
.
.
.
Zad 3.
Przeanalizuj poniższy kod:
#!/usr/bin/env python
i = 0
# drukujemy wszystkie liczby parzyste mniejsze od 10
while i < 10:
if i % 2: # reszta z dzielenia != 0 -> True
continue # pomiń liczby nieparzyste
else:
print(i) # drukuj liczby parzyste
i += 1 # zwiększ i o jeden
- Czy skrypt będzie działał zgodnie z założeniami? Jeśli nie, to napraw go.
Zad 4.
Uzupełnij skrypt o brakujące fragmenty:
#!/usr/bin/env python
# lista zakupów
grocery = ['jajka', 'mleko', 'chleb', 'maslo', 'piwo']
# ilość sztuk
n_items = []
# zakazane produkty
prohibited = ['wódka', 'piwo', 'wino']
# w pętli pytamy użytkownika, ile sztuk danego produktu chce kupić
for product in grocery:
# wydrukuj na ekranie komunikat: "Produkt [nazwa produktu]: sztuk = "
# pobierz liczbę od użytkownika i zapisz w n_items
# pomiń produkty zakazane (i automatycznie przyjmij ilość = 0)
# drukujemy listę zakupów
print("{:-^50}".format("Lista zakupów"), end="\n\n")
# w pętli wydrukuj: [lp]. [nazwa produktu]: [ilość]
# czyli np.: 1. jajka: 5 itd.
Zad 5.
Napisz skrypt, który:
- losuje liczbę całkowitą mniejszą od 100 (
help(random.randint)
) - pyta użytkownika o odgadnięcie liczby
- informuje użytkownika, czy podana przez niego liczba jest:
- dużo mniejsza (różnica > 50)
- mniejsza (różnica > 10)
- trochę mniejsza
- trochę większa
- większa (różnica > 10)
- dużo większa (różnica > 50)
- program się kończy, gdy użytkownik odgadnie wylosowaną liczbę
Zad 6.
Poniższy skrypt narysuje kwadrat:
#!/usr/bin/env python
import turtle
length = eval(input("Podaj długość boku: "))
n_sides = 4 # ilość boków
turtle.speed(20) # ustal prędkość żółwia
# powtórz n_sides razy
for i in range(n_sides):
turtle.forward(length) # narysuj linię o danej długości
turtle.right(90) # obróć się w prawo o dany kąt
turtle.mainloop() # nie zamykaj okna po narysowaniu
- zmodyfikuj go tak, aby narysował trójkąt równoboczny
- zmodyfikuj go tak, aby narysował sześciokąt foremny
- zmodyfikuj go tak, aby narysował wielokąt foremny, którego liczba boków podana jest przez użytkownika
- zmodyfikuj go tak, aby wielokąt rysowany był N razy (N podane przez użytkownika); każdy kolejny obrócony o odpowiedni kąt (aż do wykonania pełnego kąta); poniżej przykład dla 50 kwadratów: