Мало знаний, большой вызов! Эта статья участвует в "Необходимые знания для программистов«Творческая деятельность.
Привет всем, яодна чаша в неделю, передняя часть, которая не хочет быть пьяной (завернутой). Если написанной статье посчастливилось получить вашу благосклонность, мне очень повезло~
Условные операторы
Так называемыйУсловные операторы, который должен решить, следует ли выполнять или пропускать некоторые указанные блоки операторов в текущий момент через текущий результат указанного выражения. Краткий ответ заключается в том, что если указанное выражение оценивается какtrue
, выполнить указанный блок операторов, если результат операцииfalse
Блок операторов пропускается или выполняется другой блок операторов. Следующий код выглядит следующим образом:
# 通过input键入用户名和密码
user = input("请输入用户名:")
passwd = input("请输入密码:")
# 将默认的用户名设置为admin 密码123456
user_d = "admin"
passwd_d = "123456"
# 通过if,elif else梳理流程
if user == user_d and passwd == passwd_d:
print("登陆成功")
elif user != user_d:
print("用户名不存在")
else:
print("密码错误")
если оператор
В Python для создания структуры ветвей вы можете использоватьif
,elif
иelse
ключевые слова. так называемыйключевые словаслова со специальным значением, напримерif
иelse
Это ключевое слово, специально используемое для создания структур ветвей. Очевидно, вы не можете использовать его в качестве имени переменной (фактически, его нельзя использовать в качестве других идентификаторов).
В нашем коде выше синтаксический анализ выглядит следующим образом:
- Используйте двоеточие после каждого условия
:
, указывающий, что следующий блок операторов должен быть выполнен после выполнения условия. - В системе входа в систему возможны 3 ситуации: 1. Имя пользователя и пароль совпадают, и вход выполнен успешно; 2. Имя пользователя не существует, и вход невозможен; 3. Неверный пароль, и вход невозможен.
- Если имя пользователя и пароль совпадают, выведите успешный вход в систему.
- Имя пользователя не соответствует печати Имя пользователя не существует
- Первые два были исключены, оставлено условие, что пароль неверный.
Стоит отметить, что отступ используется для представления структуры кода в Python, то есть, если вы хотите выполнить оператор в операторе if, вам нужно только указать для него такой же отступ.отступМожно использовать любое количество пробелов, ноОбычно используется 4 пробела
оператор вложенной ветки
Пример кода выглядит следующим образом:
user_key = int(input("输入1进入登陆系统,输入0退出系统"))
# 通过if,elif else梳理流程
if user_key == 1: # 只要用户输入1才能进入登陆系统界面
# 通过input键入用户名和密码
user = input("请输入用户名:")
passwd = input("请输入密码:")
# 将默认的用户名设置为admin 密码123456
user_d = "admin"
passwd_d = "123456"
if user == user_d and passwd == passwd_d:
print("登陆成功")
elif user != user_d:
print("用户名不存在")
else:
print("密码错误")
elif user_key == 0:
print("已退出")
else:
print("输入错误")
- Поскольку в это время во внешнем слое есть дополнительный слой структуры, необходимо
if
Внутри строится новая отраслевая структура.elif
иelse
Может также быть повторно настроен на новую ветвь, ветвь называется вложенной структурой - Однако по возможности старайтесь не использовать вложенные структуры, поскольку вложенные структуры влияют на читабельность кода.
кейс упражнение
-
Имперские единицы дюймов заменены метрическими единицами сантиметров (1 дюйм (дюйм) = 2,54 сантиметра (см))
value = float(input("请输入数值:")) unit = input("请输入单位(英寸或in和厘米或cm):") if unit == "in" or unit == "英寸": print("%.2f英寸=%.2f厘米" % (value, value * 2.54)) elif unit == "cm" or unit == "厘米": print("%.2f厘米=%.2f英寸" % (value, value / 2.54)) else: print("单位错误")
-
Преобразование процентильных оценок в градуированные оценки
Требовать: Если входная оценка выше 90 баллов (включая 90 баллов), выход A; 80 баллов-90 баллов (исключая 90 баллов) выход B; 70 баллов-80 баллов (исключая 80 баллов) выход C; 60 баллов-70 баллов ( исключая 70 баллов) выход D, ниже 60 баллов выход E.
score = float(input('请输入成绩: ')) if score >= 90: grade = 'A' elif score >= 80: grade = 'B' elif score >= 70: grade = 'C' elif score >= 60: grade = 'D' else: grade = 'E' print('对应的等级是:', grade)
оператор цикла
оператор циклаЭто повторное выполнение определенных операторов, которое управляется указанием выражений. Проще говоря, указанное выражение преобразуется вboolean
Результат после значения типаtrue
, какие операторы повторяются до тех пор, пока указанное выражение не будет преобразовано вboolean
Результат после значения типаfalse
перестанет выполняться.
цикл for-in
Циклы for используются для перебора последовательностей (то есть списков, кортежей, словарей, наборов или строк). Структура синтаксиса выглядит следующим образом:
for <variable> in <sequence>:
<statements>
функция диапазона()
создать набор массивов,range()
Несколько вариантов использования
-
range(101)
: Может использоваться для генерации целых чисел в диапазоне от 0 до 100. Следует отметить, что 101 получить нельзя. -
range(1, 101)
: может использоваться для генерации целого числа в диапазоне от 1 до 100, что эквивалентно закрытому интервалу, за которым следует открытый интервал. -
range(1, 101, 2)
: Может использоваться для генерации нечетных чисел от 1 до 100, где 2 — это размер шага, значение, которое увеличивается каждый раз, когда значение. -
range(100, 0, -2)
: может использоваться для генерации четных чисел от 100 до 1, где -2 — размер шага, значение, на которое уменьшается каждое число.
Пример 1: вычислить сумму 1-100
# 用来存储每次计算的结果
sum = 0
for i in range(101):
sum += i # 这里等同于sum=sum+1
print(sum)
Пример 2: вычислить сумму четных чисел от 1 до 100
# 用来存储每次计算的结果
sum = 0
for i in range(0, 101, 2):
sum += i
print(sum)
Начиная с 0, каждый шаг равен 2, единственное число пропускается.
Пример 3: вычислить сумму нечетных чисел от 1 до 100
Можно начать с 1 с размером шага 2, чтобы пропускать четные числа, или сделать это путем вложения структур ветвления, например.
# 用来存储每次计算的结果
sum = 0
for i in range(101):
if i % 2 == 1: # 因为单数除2余1,所以只有满足这个条件,才可以进行累加计算
sum += i
print(sum)
пока цикл
while
перебор может генерировать или преобразовыватьbool
Значение выражения для управления циклом, значение выражения равноTrue
цикл продолжается, выражение оценивается какFalse
затем завершает цикл.
Структура синтаксиса выглядит следующим образом:
while 判断条件:
执行语句……
пройти черезwhile
Заявление о достижении 1-100 кумулятивных результатов
# 用来存储每次计算的结果
sum = 0
# 设置开始的值
i = 1
# 设置允许循环的最大值
n = 100
while i <= n:
sum += i
i += 1
print(sum)
операторы break и continue
break
Операторы могут выходить за пределы тела циклов for и while. Если вы выходите из цикла for или while.
continue
Оператор используется, чтобы указать Python пропустить оставшиеся операторы в текущем блоке цикла и перейти к следующему раунду цикла.
поток выполнения кода
Пример: игра «Угадай слово»
Правила: Компьютер генерирует случайное число от 1 до 100, игрок вводит число, которое он угадал, и компьютер выдает соответствующую подсказку (больше, меньше или правильно угадал), если игрок угадывает число правильно, компьютер подсказывает user Сколько раз вы угадали всего, игра окончена, иначе игра продолжается, если количество раз больше 5, цикл выходит.
import random # 导入随机数模块
answer = random.randint(1, 100) # 生成1-100的随机数
counter = 0 # 将次数初始为0
while True:
number = int(input('请输入: '))
if number < answer:
print('大一点')
counter += 1
elif number > answer:
print('小一点')
counter += 1
else:
print('恭喜你猜对了!')
break # 如果猜对了 就跳出循环
if counter >= 5: # 次数大于5则退出这个系统
print('你的智商余额明显不足')
break
print('你总共猜了%d次' % counter)
вложение петель
Подобно структуре ветвления, структура цикла также может быть вложенной, то есть структура цикла также может быть построена в цикле.
Пример 1: Печать таблицы умножения 99 с помощью оператора for...in
for x in range(1, 10):
for y in range(1, x+1):
print("%d * %d = %d" % (y, x, x*y), end=" ")
print()
Пример 2: Печать таблицы умножения 99 с помощью оператора while
x = 1
y = 1
while x <= 9:
y = 1 # 每执行完一次子循环,y重置为1
while y <= x:
print("%d * %d = %d" % (y, x, x*y), end=" ")
y += 1
x += 1
print() # 每一句结束一个换行