Новейшая основа входа на Python и настоящая битва Глава 3 if branch and loop

Основы ввода в Python три ветвления и цикла if

============================= если структура ветки
если-элиф-еще

Сценарий применения: Выполняйте разные операции для разных условий. (Выполняются разные условия: если одно из условий выполняется, нет необходимости судить о других условиях)
Синтаксис:
условное выражение if 1:
сегмент кода 1
условное выражение elif 2:
сегмент кода 2
условное выражение elif 3:
сегмент кода 3

Иначе:
сегмент кода N

Примечание: последнее условие оценивается на том основании, что первое условие не установлено.

Упражнение: требуется выполнить различные операции с num и 2 в соответствии с символом символа. Например, если символ '+' -> num, добавьте 2; '-' -> num будет вычитать 2; ' ' -> num 2, по очереди По аналогии,
если символ не является математической операцией, "не может работать!" 'Незамедлительный

symbol = 'hshs'
num = 20
is_operate = True    # 当前数据是否已经操作
if symbol == '+':
    num += 2
elif symbol == '-':
    num -= 2
elif symbol == '*':
    num *= 2
elif symbol == '/':
    num /= 2
elif symbol == '//':
    num //= 2
elif symbol == '%':
    num %= 2
elif symbol == '**':
    num **= 2
else:
    is_operate = False
    print('不能操作!')
================================== если вложено
1. если вложено
Есть и другие операторы if в операторе if

Условный оператор
if : условный оператор if:
сегмент кода
else:
сегмент кода
else:
сегмент кода

Упражнение: если число нечетное, выведите нечетное число, в противном случае выведите четное число. Если единичная цифра равна 0, выведите «кратное 10».

num = '5'
if num % 2 == 0:
    print('偶数')
    if num % 10 == 0:
        print('10的倍数')
else:
    print('奇数')
2. Тернарный оператор
  1. Трехдеревянный оператор C:

Выражение 1? Выражение 2: Выражение 3

  • Определите, истинно ли значение выражения 1, если оно истинно, результатом всей операции является выражение 2, в противном случае результатом всей операции является выражение 3
int result = 10>20?30:40
printf(&result)
  1. Тернарный оператор Python:

Выражение 2 if выражение 1 else выражение 3

  • Определите, истинно ли значение выражения 1, если оно истинно, результатом всей операции будет выражение 2, в противном случае результатом всей операции будет выражение 3
result = 30 if 100>20 else 40
print(result)

Практика: напечатайте взрослый или несовершеннолетний в зависимости от возраста (с тернарным оператором)

age = 19
print('成年' if age>18 else '未成年')
================================= для цикла

Функция цикла: пусть код выполняется многократно

для цикла
  • Синтаксис:
    для переменной в последовательности:
    тело цикла

Описание:

  1. for-keyword; фиксированное написание
  2. Переменная - требования и спецификации имени переменной такие же, как и при определении переменной; (если эта переменная не используется в теле цикла, имя переменной можно заменить на _)
  3. in-keyword; фиксированное написание
  4. Типы данных контейнера последовательности в python, такие как строки, списки, кортежи, наборы, словари, итераторы, генераторы, диапазоны и т. Д.
  5. : -Исправлено написание
  6. Тело цикла - один или несколько операторов с отступом для; код, который необходимо выполнять повторно.

Процесс выполнения:
пусть переменные принимают значения в последовательности, принимают их одно за другим, пока не будет достигнут конец, и выполнять тело цикла каждый раз, когда берется значение.
(Количество выполнений цикла for зависит от количества элементов в последовательности)

for x in 'abc':
    print(x, 'hello world!')
2. Функция диапазона - генерирует последовательность чисел в указанном диапазоне.

range (N) - создать числовую последовательность [0, N) (N - положительное целое число); например: range (4) - создать числовую последовательность из 0, 1, 2, 3
диапазон (M, N) - создать [M , N) числовая последовательность (M <N, а M и N - целые числа); например: range (-3, 3) -products: -3, -2, -1, 0, 1, 2
range (M, N , step) -Создайте числовую последовательность [M, N) каждый раз, когда значение увеличивается на шаг; например: range (-3, 3, 2) -Generate: -3, -1, 1

  • Применение: Распечатайте 100 строк надписи «hello world!»
for _ in range(100):
    print('HELLO WORLD!')

for x in range(4):        #打印出0-3的数字
    print('x1:', x)
  • Упражнение 2.
for x in range(-3, 3):
    print('x2:', x)

for x in range(-3, 3, 2):
    print('x3:', x)

for x in range(100, 49, -1):
    print('x4:', x)

Упражнение 1. Вычислите сумму 1 + 2 + 3 + 4 +… + 100

sum1 = 0
for x in range(1, 101):
    sum1 += x
print('和:', sum1)
  • Анализ текущего процесса:

sum1 = 0
(x -> 1 ~ 100)
x = 1: sum1 + = x -> sum1 = sum1 + x -> sum1 = 0 + 1 = 1
x = 2: sum1 + = x -> sum1 = sum1 + x -> sum1 = 1 + 2
x = 3: sum1 + = x -> sum1 = sum1 + x -> sum1 = 1 + 2 + 3
x = 4: sum1 = 1 + 2 + 3 + 4

x = 100: sum1 = 1 + 2 + 3 + 4 +… + 100

печать (сумма1) -> печать (5050)

Упражнение 2: подсчитайте количество чисел в пределах 1000, которое может делиться на 3

метод первый:

count = 0   # 保存最终的个数
for x in range(1000):
    if x % 3 == 0:
        count += 1
print('个数:', count)

Метод второй:

count = 0
for x in range(0, 1000, 3):
    count += 1
print('个数:', count)

Упражнение 3: выведите все числа в пределах 1000, которые делятся на 3 и у которых одна цифра равна 2

метод первый:

for x in range(1000):
    if x % 3 == 0 and x % 10 == 2:
        print(x, end=' ')
print()

Метод 2: сначала сгенерируйте все числа, кратные 3, в пределах 1000, а затем посмотрите, чья единственная цифра равна 2 в кратных 3

for x in range(0, 1000, 3):
    if x % 10 == 2:
        print(x, end=' ')
print()

Метод 3: сначала сгенерируйте все числа с одной цифрой 2 в пределах 1000, а затем посмотрите, какое из чисел с одной цифрой 2 делится на 3

for x in range(2, 1000, 10):
    if x % 3 == 0:
        print(x, end=' ')
print()
================================= Цикл while
1. цикл while

Синтаксис:
условный оператор
while : тело цикла

  • Описание:

1) ключевое слово while; фиксированное написание
2) условный оператор - любое выражение с результатом в порядке (оператор присваивания не работает)
3): - фиксированное написание
4) тело цикла - сохраните один или несколько операторов с отступом while ; Код, который необходимо выполнять повторно

  • Процесс реализации:

Сначала оцените, является ли условный оператор истинным, если это так, выполните тело цикла, а затем оцените,
истинно ли условное выражение после выполнения ; если оно истинно, выполните тело цикла снова, а затем оцените, истинно ли условное выражение после выполнения ...
и так далее, если условное выражение Результат - ложный конец цикла

  • Упражнение: 5 раз распечатайте "Hello world!"
x = 0
while x < 5:
    print('hello world!')
    x += 1

Процесс реализации:

x = 0,
а 0 <5: print ('hello world!'); x + = 1 -> x = 0 + 1 = 1,
а 1 <5: print ('hello world!'); x + = 1 -> x = 1 + 1 = 2,
а 2 <5: print ('hello world!'); x + = 1 -> x = 2 + 1 = 3,
а 3 <5: print ('hello world!'); x + = 1 -> x = 3 + 1 = 4,
а 4 <5: print ('hello world!'); x + = 1 -> x = 4 + 1 = 5,
а 5 <5: 循环 结束!

2. Выбор цикла for и while.

Если количество циклов определено, используйте цикл for; если количество циклов неизвестно, используйте цикл while

Упражнение: напишите программу, позволяющую клиенту продолжать вводить контент, пока входной контент не станет 0.

Анализ идеи:

Нам нужно продолжать вводить числа, а введенные числа являются неопределенными, и код необходимо многократно выполнять в таких позициях, как:

Пожалуйста, введите: 2
Пожалуйста, введите: a
Пожалуйста, введите: acc
Пожалуйста, введите: 0

Число 0, конец цикла

num = 'start'
while num !='0':
    num = input('请输入:')

рекомендация

отblog.csdn.net/SaharaLater/article/details/111057022