Циклы

Последнее обновление: 26.03.2024
Упражнение 1

Напишите программу, в которой в бексонечном цикле пользователь вводит два числа, а программа выводит их сумму.

Затем программа запрашивает, надо ли завершить ввод. И если пользователь вводит букву "Y" или "y", то происходит выход из бесконечного цикла, и программа завершается. При нажатии любой другой клавиши, программа продолжает работу. Пример работы программы:

C:\python>py app.py
Введите первое число: 2
Введите второе число: 3
Сумма чисел:  5
Нажмите Y или y для завершения программы:

Введите первое число: 4
Введите второе число: 5
Сумма чисел:  9
Нажмите Y или y для завершения программы: y

C:\python%gt;
Решение
# бесконечный цикл
while True:
    # вводим первое число
    num1 = int(input("Введите первое число: "))
    # вводим второе число
    num2 = int(input("Введите второе число: "))
    # вычисление суммы чисел
    print("Сумма чисел: ", num1+num2 )
    # запрос на выход из цикла
    str = input ("Нажмите Y или y для завершения программы: ")
    # выходим из цикла
    if (str =="Y" or str =="y"):  break
Упражнение 2

Используйте циклы, чтобы вывести на консоль следующую фигуру:

*******
 *   * 
  * *  
   *   
  * *  
 *   * 
*******
Решение
n = 7
for i in range(0, n): 
    for j in range(0, n): 
        if(i == 0 or i == n-1 or j==i or j == n-i-1): print("*", end="")
        else: print(" ", end="")
    print()
Упражнение 3

Используйте циклы, чтобы вывести на консоль следующую фигуру:

 **   ** 
**** ****
*********
 ******* 
  *****  
   ***   
    *    
Решение
h = 7
w = h + 2
m = w //4
for i in range(1, h+1): 
    if (i <= m):
        print(" " * (m-i) + "*" * (2*i) + " " * (w-2*i-2*m) + "*" *(2*i) + " " * (m-i))
    else: 
      print(" " * (i - 2*m+1) + "*" * (w-2*(i-2*m+1)) + " " * (i - 2*m+1))
Упражнение 4

Используйте циклы, чтобы вывести на консоль следующий набор символов:

*  1  *  2  * 
3  *  4  *  5 
*  6  *  7  * 
8  *  9  *  10 
*  11 * 12  *  
Решение
n=5
k=1
counter=1
for i in range(n):
    for j in range(n):
        if k % 2 == 0:
            print(counter, end ="  ")
            counter+=1
        else: print("*",end="  ")
        k+=1      
    print()
Дополнительные материалы
Помощь сайту
Юмани:
410011174743222
Перевод на карту
Номер карты:
4048415020898850