Уведомления

Группа в Telegram: @pythonsu

#1 Авг. 10, 2010 22:22:38

Lunar
От:
Зарегистрирован: 2010-08-10
Сообщения: 8
Репутация: +  0  -
Профиль   Отправить e-mail  

FOR

На php или аналогично на с++ можно написать такой код:

//———————————–
for ($i = 1; $i <= 10; $i++) {

echo $i;

}
//———————————-

А как такой написать на Python?



Офлайн

#2 Авг. 11, 2010 00:47:41

denz
От:
Зарегистрирован: 2007-01-09
Сообщения: 117
Репутация: +  0  -
Профиль   Отправить e-mail  

FOR

Я так понял, ты не ищешь легких путей.

Тогда такое решение тебе наверно подойдет лучше всего:

# -*- coding: utf-8 -*-
#!/usr/bin/env python

import sys

DEFAULT_INTEGER = 10


class Print():
def __init__(self, range):
self.range = range

def __call__(self):
for x in xrange(self.range):
yield sys.stdout.write(u'%s\n'% x)

def getsomeint():
try:
import random
return random.randint(0, 10)
except:
return DEFAULT_INTEGER

if __name__=='__main__':
try:
number_of_numbers_to_print = sys.argv[1]
except (IndexError, ValueError,):
number_of_numbers_to_print = getsomeint()

printer = Print(number_of_numbers_to_print)
map(lambda x:x, printer())
#более легкий способ описан по адресу http://docs.python.org/tutorial/



Отредактировано (Авг. 11, 2010 00:53:41)

Офлайн

#3 Авг. 11, 2010 00:52:47

Lunar
От:
Зарегистрирован: 2010-08-10
Сообщения: 8
Репутация: +  0  -
Профиль   Отправить e-mail  

FOR

а при чем здесь random?



Офлайн

#4 Авг. 11, 2010 00:55:43

denz
От:
Зарегистрирован: 2007-01-09
Сообщения: 117
Репутация: +  0  -
Профиль   Отправить e-mail  

FOR

Lunar
а при чем здесь random?
Ну как, а вдруг аргументом не будет ничего не передано. Или передано, но не число. Что печатать тогда? Печатать же надо :)



Офлайн

#5 Авг. 11, 2010 05:44:47

PooH
От:
Зарегистрирован: 2006-12-05
Сообщения: 1948
Репутация: +  72  -
Профиль   Отправить e-mail  

FOR

Что то злой какой-то форум стал.

for i in range(11):
print i
В версиях питона до 2.6 лучше пользовать xrange



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

Офлайн

#6 Авг. 11, 2010 09:49:17

Lunar
От:
Зарегистрирован: 2010-08-10
Сообщения: 8
Репутация: +  0  -
Профиль   Отправить e-mail  

FOR

PooH
а чего лучше до 2,6, у меня в 2.6.5 нормально работает



Офлайн

#7 Авг. 11, 2010 11:16:43

ZZZ
От: Москва
Зарегистрирован: 2008-04-03
Сообщения: 2161
Репутация: +  26  -
Профиль   Адрес электронной почты  

FOR

PooH
Что то злой какой-то форум стал.
Жара…



Офлайн

#8 Авг. 11, 2010 14:55:57

Paher
От:
Зарегистрирован: 2009-08-11
Сообщения: 66
Репутация: +  0  -
Профиль   Отправить e-mail  

FOR

Lunar
PooH
а чего лучше до 2,6, у меня в 2.6.5 нормально работает
range создает список и выдает из него значения, а xrange список не создает, а в каждой итерации выдает один элемент, без создания всех остальных. соответственно и в памяти хранит только одно значение, а не все. При 10 итерациях это некритично, а вот, например, при миллионах уже получается большой выигрыш по памяти



Офлайн

#9 Авг. 11, 2010 15:42:38

Lunar
От:
Зарегистрирован: 2010-08-10
Сообщения: 8
Репутация: +  0  -
Профиль   Отправить e-mail  

FOR

ясно, всем спасибо



Офлайн

#10 Авг. 11, 2010 19:28:37

PooH
От:
Зарегистрирован: 2006-12-05
Сообщения: 1948
Репутация: +  72  -
Профиль   Отправить e-mail  

FOR

lorien
ну ваще правильного ответа не прозвучало т.к. range(11) выдаст числа от 0 до 10, а вам надо от 1 до 10 :)
Уел! уел!! ууууу Ел!!!
Действительно, старая как мир хохма - “Каждый видит только то, что он хочет видеть”
М.Крайтон "Штам Андромеда
Именно Ливитт еще за несколько лет до того сформулировал «Правило сорока восьми». «Правило» служило шутливым напоминанием о безбрежном море литературы, написанной в конце сороковых – пятидесятых годах по вопросу о числе хромосом у человека.
Много лет считалось, что в клетках человеческих тканей насчитывается по 48 хромосом; это подтверждалось фотографиями и множеством точнейших исследований. А в 1953 году группа американских цитологов объявила всему миру, что число хромосом у человека вовсе не 48, а 46. И опять в подтверждение приводились фотографии и составлялись монографии. Но эти цитологи пошли еще дальше, они подняли старые снимки и старые исследования и установили, что на тех снимках тоже было только 46, а не 48 хромосом.
Ливиттово «Правило сорока восьми» формулировалось просто: «Все ученые слепы»



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

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version