05 - Суждение Python и цикл

искусственный интеллект Python

Введение

Прежде всего, приношу извинения всем читателям, я недавно нашел время, чтобы провести банкет, поэтому статья на некоторое время остановилась.

Начиная с сегодняшнего дня, я... я... я... я все еще не могу сообщить вовремя, потому что в следующий раз я вернусь в Хэйлунцзян, чтобы провести свадьбу.

Тогда его могут приостановить еще на полмесяца, так что... читатели, не бейте меня.

меня всегда звалиОбновление по судьбе, ха-ха-ха.

Не волнуйтесь, сегодняшнее содержание больше, около 3000 слов, если вы не будете практиковаться, это займет 10 минут, если вы будете практиковаться, это займет более 30 минут.

2. Суждение

2.1 Зачем использовать суждение?

В нашей повседневной жизни мы неизбежно сталкиваемся со многими выборами.

Например, какой зубной щеткой мы сегодня чистим зубы? Какого персонажа мы выбираем для игры? С какой девушкой мы сегодня встречаемся...  

В это время нам нужно выбрать один из этих вариантов, тогда этот выбор будет использовансудить.

Наши общие методы суждения заключаются в следующем.

  • if

  • if..else..

  • if..elif..

  • if..elif..else..

Итак, давайте посмотрим, как следует использовать эти суждения.

2.2 if

if — наш самый основной метод суждения, и он также используется в коде относительно чаще.

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

Его синтаксис следующий:


-------------------

if 要判断的条件:

    条件成立时,要做的事情

-------------------

Далее идет пример.


-------------------

age = 20

if age >= 18:

    print('我都已经成年啦,我的今年')

-------------------

Согласно правилам отступа Python, еслиifПриговор приговорTrue, выполняется оператор печати с отступом, иначе ничего не будет сделано.

2.3 if..else..

Затем мы просто пошли использоватьifсудить, ноifСуждение может судить только об одном контенте и выполнять внутренний код только при выполнении условий.

Но что делать, если наши условия не выполняются?

На самом деле мыifКроме того, вы также можете использоватьif..else...

Его синтаксис следующий:


-------------------

if 条件:

    满足条件时要做的事情1

    满足条件时要做的事情2

    满足条件时要做的事情3

    ...(省略)...

else:

    不满足条件时要做的事情1

    不满足条件时要做的事情2

    不满足条件时要做的事情3

    ...(省略)...

-------------------

Вот пример.


-------------------

chePiao = 1 # 用1代表有车票,0代表没有车票

if chePiao == 1:

    print("有车票,可以上火车")

else:

    print("没有车票,不能上车")

-------------------

Здесь следует отметить одну вещь,else должен использоваться с оператором if, а не отдельно.

2.4 if..elif..

потому что каждый разifМы можем судить только об одном условии, мы действительно неудобны.

Если нам нужно иметь более одного контента для оценки, не будет ли написан весь код целиком?ifВы судили?

Конечно нет, мы действительно можем использоватьif..elif..чтобы помочь нам писать лучший код.

Его синтаксис следующий:


-------------------

   if xxx1:

        事情1

    elif xxx2:

        事情2

    elif xxx3:

        事情3

-------------------

Продолжим на примере.


-------------------

    score = 77



    if score>=90 and score<=100:

        print('本次考试,等级为A')

    elif score>=80 and score<90:

        print('本次考试,等级为B')

    elif score>=70 and score<80:

        print('本次考试,等级为C')

    elif score>=60 and score<70:

        print('本次考试,等级为D')

    elif score>=0 and score<60:

        print('本次考试,等级为E')

-------------------

2.5 if..elif..else..

На самом деле это употреблениеif..else..«Окончательное» использование этого суждения.

Например:


-------------------

   if xxx1:

        事情1

    elif xxx2:

        事情2

    elif xxx3:

        事情3

    else:

    	以上所有条件都不满足时做的事情

-------------------

Мы обнаружим, что на самом деле это копия нашего контента версии 2.4, поэтому я не буду повторяться здесь.

2.6 На что следует обратить внимание в суждении

Следует отметить, что при использовании сужденияelifдолжны быть размещеныifПоследние нельзя использовать отдельно.

Похожий наelseтакже, долженifИспользуйте в связке.

2.7 Вложение суждений

Что касается использования суждения, есть еще одно очень важное содержание, касающееся вложенности суждения.

Мы часто сталкиваемся в жизни с проблемой, что съесть на обед?

Итак, как мы должны это сделать?


-------------------

if 去包子铺吃:

	if 吃包子:

		print("吃包子")

	if 吃 XXX:

		print("...")

else:

	print("今天减肥不吃饭")

-------------------

Как насчет того, что нам нужно судить о том, что мы хотим есть, а затем выбирать пищу, которую мы хотим съесть, в соответствии со своими представлениями.

Рядом еще один.


-------------------

money = 1     	# 兜里是否有钱

RMB = 9     	# 兜里有几块钱



if money == 1:

    print("有钱了,我们吃点好的吧")

    if daoLenght < 10:

        print("今天的钱也就够吃碗板面了")

    else:

        print("老板,来份板面加10个鸡蛋")

        

else:

    print("我在减肥,我不饿,我要坚强")

-------------------

Итак, теперь вы понимаете, что означает вложенность суждений?

2.8 Угадывание

Вот небольшая игра, которая очень подходит для обучения, вы можете попробовать прочитать ее и посмотреть, сможете ли вы понять, что делает этот код.


-------------------

import random



    player = input('请输入:剪刀(0)  石头(1)  布(2):')



    player = int(player)



    computer = random.randint(0,2)



    # 用来进行测试

    #print('player=%d,computer=%d',(player,computer))



    if ((player == 0) and (computer == 2)) or ((player ==1) and (computer == 0)) or ((player == 2) and (computer == 1)):

        print('获胜,哈哈,你太厉害了')

    elif player == computer:

        print('平局,要不再来一局')

    else:

        print('输了,不要走,洗洗手接着来,决战到天亮')

-------------------

3. Цикл

Я не знаю, есть ли у вас опыт наказания вашего учителя английского языка за копирование слов и просьбы скопировать каждое слово во всей книге 10 раз, вкус кислый и освежающий.

Но если мы сейчас в компьютере, как мы должны «лениться»?

В это время нам нужно использовать нашего главного героя сегодня, приветствуем аплодисментыциклдебют.

  • пока цикл

  • for..в цикле

привет привет приветствуюциклДа ладно, почему там два человека?

Модератор, мы обациклДа, конечно, они должны собраться Если не веришь мне, пусть сначала мой братпока циклПокажи себя первым?

3.1 пока цикл

Прежде всего, начнем с истории, которая известна всем, то есть с месячной зарплаты.


-------------------

    i = 0

    while i<10000:

        print("老婆大人,这是这个月的工资,请笑纳")

        i+=1

-------------------

Так что же делает приведенный выше код?


-------------------

    print("老婆大人,这是这个月的工资,请笑纳")

    print("老婆大人,这是这个月的工资,请笑纳")

    print("老婆大人,这是这个月的工资,请笑纳")

    ...(还有99997遍)...

-------------------

ТакwhileКак выглядит синтаксис цикла?


-------------------

    while 条件:

        条件满足时,做的事情1

        条件满足时,做的事情2

        条件满足时,做的事情3

        ...(省略)...

-------------------

Следуя грамматике, напишем пример.


-------------------

    i = 0

    while i<5:

        print("当前是第%d次执行循环"%(i+1))

        print("i=%d"%i)

        i+=1

-------------------

Вы можете проверить результаты самостоятельно.

3.2 циклический тест

3.2.1 Подсчет общей суммы от 1 до 100 (включая 1 и 100) Ограничение по времени: 5 минут

Справочный ответ:


-------------------

#encoding=utf-8



i = 1

sum = 0

while i<=100:

    sum = sum + i

    i += 1



print("1~100的累积和为:%d"%sum)

-------------------

3.2.2 Вычислить кумулятивную сумму четных чисел от 1 до 100 (включая 1 и 100) Ограничение по времени: 5 минут

Справочный ответ:


-------------------

#encoding=utf-8



i = 1

sum = 0

while i<=100:

    if i%2 == 0:

        sum = sum + i

    i+=1



print("1~100的累积和为:%d"%sum)

-------------------

3.3 for.. в петлях

Как и цикл while, цикл for..in также может перебирать (упорядочивать) каждый элемент в списке (списке) или кортеже (массиве).

Его синтаксис следующий:


-------------------

for 临时变量 in 列表或者字符串等:

    循环满足条件时执行的代码

else:

    循环不满足条件时执行的代码

-------------------

Например:


-------------------

name = 'dongGe'



for x in name:

    print(x)

-------------------

Здесь я напрямую распечатываю каждый символ в этой строке.

Или мы также можем пойти и напечатать массив.


-------------------

names = ['Michael', 'Bob', 'Tracy']

for name in names:

    print(name)

-------------------

Он также напечатает их по порядку.nameкаждый элемент в .


-------------------

Michael

Bob

Tracy

-------------------

3.4 упражнение for..in loop

3.4.1 Используйте цикл for..in для вычисления факториала 10. Ограничение по времени: 5 минут.

Справочный ответ:


-------------------

sum = 1

for x in [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]:

    sum = sum * x

print(sum)

-------------------

3.4.2 Реализовать совокупную сумму от 1 до 10000 Ограничение по времени: 10 минут

Здесь следует отметить, что в Python предусмотрена функция range(), которая может генерировать последовательность целых чисел.

После этого его можно преобразовать в список функцией list().

Например, последовательность, сгенерированная range(5), представляет собой целое число, начинающееся с 0 и меньше 5:


-------------------

>>> list(range(5))

[0, 1, 2, 3, 4]

-------------------

Справочный ответ:


-------------------

sum = 0

for x in range(10000):

    sum = sum + x

print(sum)

-------------------

3.5 перерыв и продолжение

В каждом языке прерывание и продолжение никогда не отсутствовали.

Их роли:

  • break: прерывание цикла (независимо от того, сколько раз цикл будет завершен, он завершится напрямую)

  • продолжить: выйти из этого цикла (пропустить этот цикл напрямую и начать следующий цикл, что не приведет к преждевременному завершению цикла)

3.5.1 break

Прежде всего, мы по-прежнему используем случай, когда мы просто выводим имя в качестве шаблона.


-------------------

  name = 'lipeng'



  for x in name:

      print('---')

      if x == 'p': 

          break

      print(x)

-------------------

Мы обнаружим, что результат получается изpВсе это исчезло с самого начала (включаяp).

использовать его дальшеwhileЦикл, чтобы проверить это.


-------------------

  i = 0



  while i<10:

      i = i+1

      print('---')

      if i==5:

          break

      print(i)

-------------------

Заинтересованные читатели могут проверить это на себе.

3.5.2 continue

continueОбычно мы используем его, когда нам нужно пропустить определенный контент в содержимом выполнения.


-------------------

  name = 'lipeng'



  for x in name:

      print('---')

      if x == 'p': 

          continue

      print(x)

-------------------

Далее посмотрите на результаты.

Кроме этого, мы снова реализуем предыдущий случай, используя цикл while.


-------------------

  i = 0



  while i<10:

      i = i+1

      print('---')

      if i==5:

          continue

      print(i)

-------------------

Читатели могут проверить это на себе.

3.5.3 Примечания к перерыву и продолжению

Будьте осторожны при использовании break и continue:

  • break/continue можно использовать только в циклах, в противном случае его нельзя использовать отдельно

  • прерывать/продолжать во вложенных циклах, работает только с ближайшим слоем циклов

3.6 Вложение циклов while

Почему я должен говорить об этом отдельно здесь?вложение петельШерстяная ткань?

Мы можем просто использовать цикл для вывода всего содержимого нашего массива по порядку, но если содержимое, с которым мы сталкиваемся, не является линейным,

номатрицаШерстяная ткань? В настоящее время неизбежно использование вложенности циклов.

Вот пример вложения цикла while.


-------------------

while 条件1:



    条件1满足时,做的事情

    ...(省略)...



    while 条件2:

        条件2满足时,做的事情

        ...(省略)...

-------------------

3.6.1 Распечатайте следующий график Ограничение по времени: 10 минут


-------------------

    *

    * *

    * * *

    * * * *

    * * * * *

-------------------

Справочный ответ:


-------------------

i = 1

while i<=5:



    j = 1

    while j<=i:

        print("* ",end='')

        j+=1



    print("\n")

    i+=1

-------------------

3.6.2 Печать9 * 9Таблица умножения Ограничение по времени: 15 минут

Справочный ответ:


-------------------

i = 1

while i<=9:

    j=1

    while j<=i:

        print("%d*%d=%-2d "%(j,i,i*j),end='')

        j+=1

    print('\n')

    i+=1

-------------------


Предыдущая статья:04 — Типы переменных Python и оператор