+100 Zadań z pętli w Python 3 (#1)

 Zadanie 1 

Proszę za pomocą dowolnej pętli wyświetlić poniższy ciąg liczb:

0
1
2
3
4

Rozwiązanie zadania

for a in range(5):
   print(a)

lub

a=[1,2,3,4,5]
for b in a:
   print(b)

lub

for a in range(1,6):
    print(a)

lub

x = 0
while x < 5:
    x = x + 1 # x += 1
    print(x)

lub

x=0
while True:
    if x==5:
        break
    x=x+1
    print(x)

 Zadanie 2 

Proszę zdefiniować funkcję, która za pomocą pętli będzie generować dowolny, zadany przez użytkownika ciąg liczb.

np. funkcja(6,12,2)

6
8
10
12

Rozwiązanie zadania

def funkcja(a,d,f):
    a-=2
    for a in range(a,d,f):
        a+=f
        print(a)

# sprawdzenie funkcji
funkcja(6,12,2)

 Zadanie 3 

Proszę za pomocą pętli wyświetlić ciąg liczb:

6
12
18
24
30

Rozwiązanie zadania

a=0
for i in range(5):
   a = a + 6
   print(a)

lub

a=[6, 12, 18, 24, 30]
for num in a:
   print(num)

 Zadanie 4 

Proszę za pomocą pętli wyświetlić ciąg liczb:

0
1
3
6
10

Rozwiązanie zadania

z=0
for a in range(5):
    z=a+z
    print(z)
# pętla pierwsza: z=0 a=0 a+z =0
# pętla druga: z=0 a=1 z=a+z =1
# pętla trzeci: z=1 a=2 z=a+z =3
# pętla czwarta: z=3 a=3 z=a+z =6
# pętla piąta: z=6 a=4 z=a+z =10

 Zadanie 5 

Proszę za pomocą pętli wyświetlić ciąg liczb:

53
54
55
56
57

Rozwiązanie zadania

for a in range(53,58):
   print(a)

 Zadanie 6 

Proszę za pomocą pętli i instrukcji if wyświetlić następujący ciąg:

1
2
3
4
Znalazłem 5!
6
7

Rozwiązanie zadania

for a in range(7):
   a = a + 1
   while a==5:
      print("Znalazłem 5!")
      break
   print(a)

lub

for a in range(7):
   a = a + 1
   if a ==5:
      print("Znalazłem 5!")
      continue
   print(a)

lub

for a in range(7):
     a+=1
     while True:
        print(a)
        if a==5:
            print("Znalazłem 5!")
        break

 

 Zadanie 7 

Proszę za pomocą pętli for wykonać poniższy ciąg.

1 a
1 b
1 c
2 a
2 b
2 c
3 a
3 b
3 c

Rozwiązanie zadania

a = [1, 2, 3]
for x in a:
   for y in 'abc':
        print(x,y)

lub

a = [1, 2, 3]
b = ['a','b','c']
for x in a:
   for y in b:
        print(x,y)

lub

for x in range(3):
   for y in 'abc':
        print(x,y)

Cynicznie można zrobić też tak:

a = ['1 a','1 b','1 c']
for x in a:
    print(x)

 Zadanie 8 

Proszę utworzyć listę [1, 2, 3, 4, 5, 6, 7, 8] nie używając pętli, używając range().

Rozwiązanie zadania

a = list(range(1,9))
print(a)

 Zadanie 9 

Proszę utworzyć ciąg z listy utworzonej za pomocą funkcji range() tak żeby wyświetlić ciąg liczb tylko do wartości 5.

Moja lisa: [1, 2, 3, 4, 5, 6, 7, 8]
----------------
1
2
3
4

Rozwiązanie zadania

# definiowanie listy
a = list(range(1,9))
# drukuje listę
print("Moja lisa:",a)
print("----------------")
for s in a: #wykorzystuje nową listę do pętli
   if s==5: # ograniczenie listy do 5
      break
   print(s)

 Zadanie 10 

Proszę utworzyć pętle while, która będzie wyświetlała ciąg liczb parzystych.

4
6
8
10
12
14
16
18

Rozwiązanie zadania

i = 4
while i < 19:
    print(i)
    i = i+2

Można też tak używając pętli for.

for i in range(4,19):
   # formula do liczb parzystych
   if i 
      continue
   print(i)

 Zadanie 11 

Proszę za pomocą pętli for wyświetlić podaną listę. Proszę na końcu listy wyświetlić komunikat.

AA
BBB
CCC
DDDDD
Lista się skończyła!

Rozwiązanie zadania

lista = ["AA", "BBB", "CCCC", "DDDDD"]
for a in lista:
  print(a)
else:
  print("Lista się skończyła!")

 Zadanie 12 

Proszę znaleźć wszystkie liczby ze przedziału (1,20), które dzielą się bez reszty przez 3.

3
6
9
12
15
18

Rozwiązanie zadania

for n in range(1,21):
    if n
        print(n)
        continue
# obrót pierwszy n = 1 , nie dzieli się przez 3 nie drukuje, powrót
# obrót drugi n = 2 , nie dzieli się przez 3 nie drukuje, powrót
# obrót trzeci n = 3 , dzieli się przez 3 drukuje: 3, powrót
# obrót czwarty n = 4 , nie dzieli się przez 3 nie drukuje, powrót ...

 Zadanie 13 

Proszę wygenerować kod liczb od 1 do 21, ze zmianą co 5, wykorzystując pętle while.

1
6
11
16
21

Rozwiązanie zadania

g=1
while g<22:
    print(g)
    g=g+5

 Zadanie 14 

Proszę wygenerować ciąg liczb od 10 do 0 wykorzystując pętle while.

10
9
8
7
6
5
4
3
2
1
0

Rozwiązanie zadania

f = 10
while f >= 0:
#odlicza dokąd będzie zero
    print(f)
    f=f-1

 Zadanie 15 

Proszę za pomocą pętli while wygenerować ciąg liczb od 4 do 8. Proszę tą pętle zdefiniować, jako funkcję.

4
5
6
7
8

Rozwiązanie zadania

x=4
while(x <9):
   print(x)
   x = x+1

Teraz definiujemy funkcję.

def ciąg(x,y):
    while(x <y):
       print(x)
       x = x+1

ciąg(12,15) # sprawdzamy

 Zadanie 16 

Zwykle odliczanie wsteczne kojarzy nam się ze startem rakiety. Proszę o wygenerowanie liczb od 10 do zera i na końcu będzie komunikat: „ Rakieta startuje!!!”.

Rozwiązanie zadania

 

f = 10        #zakres zbioru: 10 elementów
while f >= 0: #odlicza dokąd będzie zero
    if f == 0:
        print('Rakieta startuje!!!')
    else:
        print(f)
    f=f-1

lub

def gg(a,b):

    while a<=b:
        print(a)
        a+=1
    else:
        print("konec")

gg(12,25)

 Zadanie 17 

Proszę używając pętli for, połączyć dwie listy według poniższego wzoru.

lista1 = ["KKKK", "GGGG", "HHHH"] lista2 = ["563-12", "363-AB"]

KKKK 563-12
KKKK 363-AB
-----------
GGGG 563-12
GGGG 363-AB
-----------
HHHH 563-12
HHHH 363-AB
-----------

Rozwiązanie zadania

lista1 = ["KKKK", "GGGG", "HHHH"]
lista2 = ["563-12", "363-AB"]
for a in lista1:
  for b in lista2:
    print(a + " " + b)
  print("-----------")

 Zadanie 18 

Proszę napisać kod, który będzie prosił użytkownika o napisanie liter n lub c. Jeżeli użytkownik wpiszę właściwą literę, program ma wygenerować komunikat: „Dziękuję!”. Jeżeli użytkownik wpisze złą literę, program ma mu zwrócić uwagę. W tym zadaniu nie trzeba tworzyć pętli.

Rozwiązanie zadania

 

print("Proszę wcisnąć literę n lub c")
d = input()
if (d == "n" or d == "c"):
    print("Dziękuje!")
else:
    print("Błąd!")

lub

print("Proszę wcisnąć literę n lub c")
d = input()
while (d == "n" or d == "c"):
    print("Dziękuje!")
    break
else:
    print("Błąd!")

 Zadanie 19 

Poprzednie zadanie było dość radykalne dla użytkownika. Na pewno lepiej by było dać użytkownikowi drugą szansę, aby mógł poprawić swój błąd. Fajnie by było, gdyby użytkownik mógł próbować wpisywać litery aż do skutku. Proszę napisać kod, w którym użytkownik będzie mógł wpisywać litery aż uda mu się wpisać n albo c.

Rozwiązanie zadania

for i in range(40):
    print("Proszę wcisnąć literę n lub c")
    d = input()
    if (d == "n" or d == "c"):
        print("Dziękuje!")
        break
    else:
        print("Błąd!")

 Zadanie 20 

Proszę o wygenerowanie ciągu liczb 17,21,18 gdzie po każdej wygenerowanej liczbie będzie wstawiony komentarz: „kolejna zmienna”. Proszę użyć pętli for.

17
kolejna zmienna
21
kolejna zmienna
18
kolejna zmienna

Rozwiązanie zadania

lista_pętli = [17,21,18]
for b in lista_pętli:
    print(b) # drukuje kolejne wartości z pętli

    print("kolejna zmienna") #drukuje komentarz

 Zadanie 21 

Proszę do pętli z poprzedniego zadania dodać dodatkowo wyrażenie: „AAA”.

17
kolejna zmienna
AAA
21
kolejna zmienna
AAA
18
kolejna zmienna
AAA

Rozwiązanie zadania

lista_pętli = [17,21,18]
for b in lista_pętli:
    print(b) # drukuje kolejne wartości z pętli

    print("kolejna zmienna") #drukuje komentarz
    print("AAA")  # drukuje komentarz

 Zadanie 22 

Proszę wygenerować następujący ciąg używając dwóch list i pętli.

17
Adrian
Paula
21
Adrian
Paula
18
Adrian
Paula

Rozwiązanie zadania

lista1 = [17,21,18]
lista2 = ["Adrian","Paula"]
for b in lista1:
    print(b) # drukuje kolejne wartości z pętli

    for c in lista2:
        print(c)

 Zadanie 23 

Proszę, używając pętli for, napisać kod, który poprosi o wpisanie trzech wartości. Po wpisaniu tych wartości mają być one podsumowane.

Wprowadź wartość: 
4
Wprowadź wartość: 
2
Wprowadź wartość: 
2
Suma wpisanych wartości to: 8

Rozwiązanie zadania

podsumowanie = 0
for a in range (3):
    print("Wprowadź wartość: ")
    nowa_wartość = input()
    nowa_wartość = int(nowa_wartość)
    podsumowanie += nowa_wartość
print("Suma wpisanych wartości to:", podsumowanie)

Można też skrócić kod poprzez zagnieżdżenie funkcji.

podsumowanie = 0
for a in range(3):
    nowa_wartość = int(input("Wprowadź wartość: "))
    podsumowanie += nowa_wartość
print("Suma wpisanych wartości to:", podsumowanie)

 Zadanie 24 

24. Proszę, używając pętli for, wyświetlić elementy połączonej listy według pokazanego wzoru.

R = [["CA","NV","UT"], ["NJ","NY","DE"]]

CA
NV
UT
NJ
NY
DE

Rozwiązanie zadania

R = [["CA","NV","UT"],["NJ","NY","DE"]]
for a in R:
  for b in a:
    print(b)

 Zadanie 25 

Proszę, używając pętli for, napisać kod, który poprosi o wpisanie sześciu wartości. Po wpisaniu tych wartości program ma podsumować ile razy wprowadzona została wartość 5.

Wprowadź dowolną liczbę od 1 do 10: 2
Wprowadź dowolną liczbę od 1 do 10: 3
Wprowadź dowolną liczbę od 1 do 10: 5
Wprowadź dowolną liczbę od 1 do 10: 5
Wprowadź dowolną liczbę od 1 do 10: 5
Użytkownik wybrał 3 razy liczbę 5.

Rozwiązanie zadania

suma_liczb = 0
for a in range(5):
    nowa_wartość = int(input("Wprowadź dowolną liczbę od 1 do 10:  "))
    if nowa_wartość == 5:
        suma_liczb +=1
print("Użytkownik wybrał",suma_liczb,"razy liczbę 5.")

 Zadanie 26 

Proszę utworzyć pętlę, która będzie generowała następujący wzór.

*
**
***
****

Rozwiązanie zadania

i = 1
while i<=4:
  print("*"*i)
  i = i+1