Уведомления

Группа в Telegram: @pythonsu

#1 Окт. 5, 2010 15:32:38

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

Как написать слитно?

Доброго дня суток! Допустим есть код:

j=0
while j<5:
print j
j=j+1
результат выйдет:
0
1
2
3
4


Подскажите как сделать чтоб вышло 01234??



Офлайн

#2 Окт. 5, 2010 15:52:33

appetito
От:
Зарегистрирован: 2010-09-28
Сообщения: 147
Репутация: +  2  -
Профиль   Отправить e-mail  

Как написать слитно?

qweqwe
Доброго дня суток! Допустим есть код:

j=0
while j<5:
print j
j=j+1
результат выйдет:
0
1
2
3
4


Подскажите как сделать чтоб вышло 01234??
import sys

while j<5:
sys.stdout.write(j)
j=j+1



Офлайн

#3 Окт. 5, 2010 17:17:09

breidos
От:
Зарегистрирован: 2010-09-21
Сообщения: 25
Репутация: +  0  -
Профиль   Отправить e-mail  

Как написать слитно?

p=0
stroka=""
while p<5:
stroka+=str(p)
p=p+1
print stroka
>>>
01234
>>>
Так подойдет? :)



Офлайн

#4 Окт. 5, 2010 18:50:51

zheromo
От:
Зарегистрирован: 2010-10-02
Сообщения: 356
Репутация: +  2  -
Профиль   Отправить e-mail  

Как написать слитно?

print “”.join(map(str,range(5)))



Офлайн

#5 Окт. 5, 2010 23:55:01

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

Как написать слитно?

Бальшущее спасибо всем! =) реально помогли!!!!



Офлайн

#6 Окт. 6, 2010 01:08:20

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

Как написать слитно?

Или так:

j=0
while j<5:
print j,
j=j+1



Офлайн

#7 Окт. 6, 2010 07:44:21

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

Как написать слитно?

pill
Или так:
Код:

j=0
while j<5:
print j,
j=j+1
но так ведь он не напишет слитно! он напишет 0 1 2 3 4



Офлайн

#8 Окт. 6, 2010 08:45:38

bw
От:
Зарегистрирован: 2007-09-26
Сообщения: 938
Репутация: +  20  -
Профиль   Адрес электронной почты  

Как написать слитно?

Тогда так:

>>> import StringIO
>>> buf = StringIO.StringIO()
>>> for i in range(5):
... print>>buf, i,
>>> buf.getvalue().replace(' ', '')
'01234'
Бред, но зато какой :-).
А вообще, правильное решение такое:
>>> print ‘01234’ # :-)

..bw



Офлайн

#9 Окт. 6, 2010 09:16:04

pyuser
От:
Зарегистрирован: 2007-05-13
Сообщения: 658
Репутация: +  36  -
Профиль   Отправить e-mail  

Как написать слитно?

начиная с 2.6 можно так:

print(*tuple(range(5)), sep="")



Отредактировано (Окт. 6, 2010 09:18:08)

Офлайн

#10 Окт. 6, 2010 09:37:46

bw
От:
Зарегистрирован: 2007-09-26
Сообщения: 938
Репутация: +  20  -
Профиль   Адрес электронной почты  

Как написать слитно?

Можно без tuple и для 2.6/2.7 обязательно писать from __future__ import print_function. Хотя в Python 3 range будет возвращать итератор и тогда, действительно, tuple будет необходим. Поправьте меня, если что.

..bw



Отредактировано (Окт. 6, 2010 09:39:28)

Офлайн

Board footer

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

Powered by DjangoBB

Lo-Fi Version