Основы ввода в 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. Тернарный оператор
- Трехдеревянный оператор C:
Выражение 1? Выражение 2: Выражение 3
- Определите, истинно ли значение выражения 1, если оно истинно, результатом всей операции является выражение 2, в противном случае результатом всей операции является выражение 3
int result = 10>20?30:40
printf(&result)
- Тернарный оператор 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 '未成年')
================================= для цикла
Функция цикла: пусть код выполняется многократно
для цикла
- Синтаксис:
для переменной в последовательности:
тело цикла
Описание:
- for-keyword; фиксированное написание
- Переменная - требования и спецификации имени переменной такие же, как и при определении переменной; (если эта переменная не используется в теле цикла, имя переменной можно заменить на _)
- in-keyword; фиксированное написание
- Типы данных контейнера последовательности в python, такие как строки, списки, кортежи, наборы, словари, итераторы, генераторы, диапазоны и т. Д.
- : -Исправлено написание
- Тело цикла - один или несколько операторов с отступом для; код, который необходимо выполнять повторно.
Процесс выполнения:
пусть переменные принимают значения в последовательности, принимают их одно за другим, пока не будет достигнут конец, и выполнять тело цикла каждый раз, когда берется значение.
(Количество выполнений цикла 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('请输入:')