Особенности и примеры использования цикла for. В Python данный цикл не является циклом со счетчиком как в других языках. Это цикл перебора различных последовательностей и др.

4. Управление потоком выполнения

Кроме оператора while (docs.python.org/3/reference/compound_stmts.html#while), который только что был представлен, Python знает обычные операторы управления потоком, известные из других языков, но с некоторыми особенностями.

4.1. Операторы if

Возможно наиболее хорошо известным типом оператора является if (docs.python.org/3/reference/compound_stmts.html#if). Например:

Подсчет количества строк, слов и букв в текстовом файле

Скрипту должно передаваться имя текстового файла. Например, в среде Windows в командной строке команда выглядит так:

words.py test.txt

Без слова python впереди.

Скрипт считает количество строк, слов и символов в файле.

Теги

Пример работы с данными, представляющими собой таблицу базы данных

Программа загружает данные из файла такого формата, где первое поле - это уникальный ключ:

pr.v|Vasil Vas|30.11.1976|34.5|8
mg.s|Kosin Stepa|08.03.1973|40.1|7
el.p|Pier Pety|16.07.1985|30.8|8

 

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

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

В конце данные можно записать в файл.

Попытка сделать неравновероятный генератор случайных чисел

 

Идея заключается в следующем:

  1. Весь диапазон чисел (от минимального до максимального значения) делится на случайное количество диапазонов, например, 7.
  2. Далее случайным образом определяется количество чисел, входящих в каждый диапазон.
  3. Числа генерируются, и переходим к следующему интервалу.

Проблема.

Анализ целочисленной выборки

fname = input('Имя файла: ')
ffile = open(fname)
sample = [] # список значений
for i in ffile:
    i = i.split()
    for j in i:
        j = int(j)
        sample.append(j)
 
length = len(sample)
minimum = min(sample)
maximum = max(sample)
print('Длина последовательности:',length)
print('Минимальное значение:',minimum)
print('Максимальное значение:',maximum)
 
def make_urange(urange,uranges): # заполняет список диапазонов
    i = minimum
    while i <= maximum:
        l = []
        l.append(i)
        i = i + urange
        if i < maximum:
          

Извлечение вложенных структур данных с помощью цикла for

Допустим есть вот такой кортеж:

>>> a = ([1,2],[3,4])

 

Извлечь из него вложенные списки очень просто:

>>> for i in a:
	print (i)
 
 
[1, 2]
[3, 4]

А вот при таком варианте извлекаются отдельные элементы: