Рубрики
Без рубрики

Списки и петли в Python

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

Прежде чем читать эту статью, вы должны были прочитать о массивы , Типы и петли Анкет

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

Python добавляет еще один слой поверх типичного типа массива, который облегчает их работу, позволяя информации любого типа, а также делая их изменчивыми. Эта конструкция называется списком.

В « Написание вашей первой программы в Python » мы написали программу, которая вывела ваше имя, возраст и профессию. В этой статье мы собираемся расширить эту программу и распечатать все ваши хобби.

Примечание: вас также попросили выполнить три задачи в конце ” Написание вашей первой программы в Python “. Мы собираемся предположить, что вы их завершили. Если у вас нет, эта статья показывает вам решения, поэтому убедитесь, что вы хотя бы попробовать их.

После завершения всех трех задач вы должны были получить что -то похожее на это:

#!/bin/env python

#Start of our code

name = "Jordan"
age = 31
profession = "Developer"
favoriteAnimal = "Penguin"

print("Welcome to my first Python programme. My name is {0}. I am {1} years old. I work as a {2}. My favourite animal is a {3}".format(
    name,
    age,
    profession,
    favoriteAnimal,
    )
)

# End of our code

Теперь мы хотим добавить еще одну информацию; каковы наши хобби.

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

#!/bin/env python

# Start of our code

name = "Jordan"
age = 31
profession = "Developer"
favoriteAnimal = "Penguin"

hobby1 := "Coding"
hobby2 := "Bass Guitar"
hobby3 := "Hiking"

print("Welcome to my first Python programme. My name is {0}. I am {1} years old. I work as a {2}. My favourite animal is a {3}".format(
    name,
    age,
    profession,
    favoriteAnimal,
    )
)

print("My hobbies are: {0}, {1}, {2}".format(hobby1, hobby2, hobby3))

# End of our code

Теперь мы добавили второй Печать заявление, которое печатает наши хобби на экран. Довольно аккуратно, да? Ну, на самом деле, нет.

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

#!/bin/env python

# Start of our code

name = "Jordan"
age = 31
profession = "Developer"
favoriteAnimal = "Penguin"

hobby1 = "example1"
hobby2 = "example2"
hobby3 = "example3"
hobby4 = "example4"
hobby5 = "example5"
hobby6 = "example6"
hobby7 = "example7"
hobby8 = "example8"
hobby9 = "example9"
hobby10 = "example10"

print("Welcome to my first Python programme. My name is {0}. I am {1} years old. I work as a {2}. My favourite animal is a {3}".format(
    name,
    age,
    profession,
    favoriteAnimal,
    )
)

print("My hobbies are: {0}, {1}, {2}, {3}, {4}, {5}, {6}, {7}, {8}, {9}".format(
    hobby1,
    hobby2,
    hobby3,
    hobby4,
    hobby5,
    hobby6,
    hobby7,
    hobby8,
    hobby9,
    hobby10
    )
)

# End of our code

Это начинает выглядеть немного грязно, не так ли? Что если у нас было 100 хобби?

Должен быть лучший способ! К счастью, есть. Списки!

В Python списки могут содержать любой тип и объявляются просто с помощью переменная = [] Чтобы создать пустой список.

stringList = []
intList = []
boolList = []
multiTypeList = []

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

stringList = ["string1", "string2"]
intList = [1, 2]
boolList = [True, False]
multiTypeList = ["string", 1, 3.14, True]

Прежде чем мы пойдем дальше, постарайтесь выполнить следующие проблемы:

  • Возьмите десять хобби -переменных и превратите их в один массив хобби.

  • Измените Печать Заявление, чтобы распечатать новый список, вместо десяти переменных.

Сделанный? Превосходно. Вы должны были получить что -то похожее на это:

#!/bin/env python

# Start of our code
name = "Jordan"
age = 31
profession = "Developer"
favoriteAnimal = "Penguin"

hobbies = [
    "example1",
    "example2",
    "example3",
    "example4",
    "example5",
    "example6",
    "example7",
    "example8",
    "example9",
    "example10",
]

print("Welcome to my first Python programme. My name is {0}. I am {1} years old. I work as a {2}. My Favorite animal is a {3}.".format(
    name,
    age,
    profession,
    favoriteAnimal
    )
)

print("My hobbies are: {0}".format(hobbies))
# End of our code

Запуск вашего приложения сейчас ( python main.py ) должен дать вам следующий вывод:

Welcome to my first Go programme. My name is Jordan. I am 31 years old. I work as a Developer. My favorite animal is a Penguin.
My hobbies are: [example1 example2 example3 example4 example5 example6 example7 example8 example9 example10]

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

Так что наш код теперь выглядит красиво и аккуратно, но я все еще не очень заинтересован в том, что мы выводим на терминал; У нас есть эти уродливые квадратные скобки ([]), и что произойдет, если мы добавим новое хобби, которое состоит из нескольких слов?

hobbies = ["example1", "mountain biking", "example2", "example3"]

Который будет печатать:

My hobbies are: [example1 mountain biking example2 example3]

Это «горный велосипед» или «гора» и «езда на велосипеде»?

Так мы должны вернуться к отдельным переменным? К счастью, нет! Мы можем использовать петлю!

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

Если бы мы хотели распечатать цифры 1-10, мы могли бы написать 10 разных Печать Заявления, которые очень ручные, или мы могли бы написать петлю, чтобы сделать это для нас. В следующем примере:

  1. Заявление init. Выполнено перед первой итерацией цикла, мы определяем новую переменную (i) и присвоили ему значение 1 ( i ).

  2. Выражение условия. Выполненная перед каждой итерацией петли, она проверяет, является ли выражение (i – я меньше или равно 10?). Если это так, он запускает другую итерацию.

  3. Затем мы печатаем значение I во время каждой итерации, а затем просто увеличивает значение I на 1 (например, если значение I равен 3, работает его, и теперь это будет 4)

i = 1
while i <= 10:
    print(i)
    i+=1

Теперь мы можем использовать эту новую технику, чтобы напечатать наши хобби. В следующем примере:

  1. Мы добавили новый Печать Заявление, которое печатает количество увлечений, которые у нас есть. Лен Метод просто возвращает длину списка; В этом примере 4.

  2. Мы определяем наш оператор init и устанавливаем значение I до 0. Мы установили его на 0 вместо 1, потому что индексы списка Python начинаются с 0.

  3. Мы определяем наше условное выражение и устанавливаем условие на Я <Лен (хобби) (Я меньше, чем продолжительность хобби). Мы используем «меньше» ( < ) вместо «меньше или равных» ( <= ), потому что индексы списка Python начинаются с 0.

  4. Мы определяем нашу заявление Post и увеличиваем количество I, как и в нашем предыдущем примере.

  5. Затем мы печатаем каждый элемент хобби.

#!/bin/env python

# Start of our code

name = "Jordan"
age = 31
profession = "Developer"
favoriteAnimal = "Penguin"

hobbies = ["example1", "mountain biking", "example2", "example3"]

print("Welcome to my first Python programme. My name is {0}. I am {1} years old. I work as a {2}. My favourite animal is a {3}".format(
    name,
    age,
    profession,
    favoriteAnimal,
    )
)

print("I have {0} hobbies, and they are: ".format(len(hobbies)))

i = 0
while i < len(hobbies):
    print(hobbies[i])
    i=+1

# End of our code

Ниже приведена иллюстрация связи между нашим индексом списка и значениями:

|     0    |        1        |     2    |    3     |
*----------*-----------------*----------*----------*
| example1 | mountain biking | example2 | example3 |

Мы ценим, что это было много информации, так что не стесняйтесь Обратитесь к нам Если что -то не ясно.

CodeTips Стремится помочь новичкам, с нулевым или очень небольшим опытом, научитесь кодировать.

Мы делаем кросс-пост на другие сайты, чтобы достичь более широкой аудитории, но почему бы и нет Подпишитесь на нашу новостную рассылку И получить новейшие статьи прямо к своему почтовому ящику?

Первоначальный источник этого контента – CodeTips Анкет Оригинальный контент поддерживается в курсе, но другие источники могут не быть последней версией.

Оригинал: “https://dev.to/codetips/lists-and-loops-in-python-52n6”