голосование
PHP
jQuery
Firebird
BASH
HTML
Ресурсы
GIT
SEO
Oracle
Python
Программы
Проголосуйте за категорию!
счётчик
Яндекс.Метрика

Как сгенерировать последовательность чисел для каждой недели Python

Хочу показать вам скрипт для генерации чисел. Я не буду говорить для какой цели я его написал. Скажу, что он очень нужен. Цикл останавливается только тогда, когда будут данные для 52 недель. Обратите внимание на то, что используются числа от 1 до 4. Я подключаю сразу 2 модуля:

  • random - генерация случайных чисел
  • datetime - определение номера недели

Сам скрипт генерирует число для каждого дня недели. Для генерации числа использую метод randint. Конструкция random.randint(1,5) генерирует число от 1 до 4. Вы можете смело изменить охват. Модуль datetime позволяет определить номер недели при помощи метода strftime. Этот метод преобразует время в строку. В нашем случае date.strftime('%U') получится номер недели. Используйте функцию int для преобразования строки в число.


#!/usr/bin/python3
import random, datetime 

date = datetime.datetime.today()
week_num = int(date.strftime('%U'))

cur_arr = []
row = ''
i = 0

# формируем строку
while True:
	'''
	random.randint(<Начало>, <Конец>) — возвращает псевдослучайное целое число 
	в диапазоне от <начала> и до <конца>
	'''
	num = random.randint(1,5)
	
	if(len(cur_arr) < 7):
		cur_arr.append(num)	
	else:		
		'''преобразуем каждый элемент в строку str()
		   при помощи функции map()
		'''
		seperator = ', '
		row += str('неделя ') + str(week_num) + ': ' \
		+ seperator.join(map(str,cur_arr)) + '\n'
		cur_arr.clear()
		if week_num == 52: break
		week_num += 1
	i += 1

# запись в файл	
with open('test.txt', 'w') as file:    
    file.write(row)
    print('\nфайл закрыт:', file.closed)

'''
неделя 37: 1, 3, 5, 4, 5, 3, 4
неделя 38: 2, 1, 3, 1, 3, 5, 1
неделя 39: 1, 5, 2, 2, 2, 3, 4
неделя 40: 1, 1, 1, 1, 5, 5, 3
неделя 41: 4, 4, 1, 4, 5, 4, 2
неделя 42: 1, 5, 3, 1, 3, 2, 2
неделя 43: 1, 3, 4, 3, 3, 5, 3
неделя 44: 4, 3, 5, 4, 1, 2, 4
неделя 45: 1, 1, 4, 1, 1, 3, 5
неделя 46: 1, 2, 2, 3, 4, 3, 2
неделя 47: 4, 3, 3, 3, 3, 4, 5
неделя 48: 2, 3, 4, 1, 4, 5, 5
неделя 49: 4, 4, 4, 1, 5, 2, 1
неделя 50: 3, 3, 2, 1, 1, 2, 4
неделя 51: 1, 2, 2, 5, 5, 3, 1
неделя 52: 1, 4, 2, 2, 3, 2, 5


файл закрыт: False
'''

Скрипт записывает строку в файл при помощи with. Для переноса строк применяется символ переноса строки '\n'.

просмотры: 179, уровень: лёгкий уровень, рейтинг: 5, дата: 2017-09-11 13:03:45
проголосовать:

Комментарии:






поиск
сайты друзей
банеры
домен RU всего за 99 рублей
http://www.2domains.ru домен RU домен RU всего за 99 рублей
http://ping-admin.ru/index_5659.html мониторинг сайтов сервис мониторинга работы сайта, мониторим HTTP, HTTPS, FTP, MYSQL, PostgreSQL, POP3, SMTP, IMAP
https://my.colobridge.net/aff.php?aff=047 серверы vps/vds облачный vps/vds сервер colobridge от 9,9 евро в месяц