Уведомления

Группа в Telegram: @pythonsu

#1 Март 1, 2010 15:12:34

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

Помогите исправить

Есть вот такой код:

from msvcrt import getch

list_1=['gamma', 'beta', 'alpha']
list_2=['[a]', '[b]', '[c]']

alpha=2
beta=3
gamma=4

for i in range(len(list_2)):
print list_2[i],list_1[i]

def fun():
while 1:
c=getch() # Ожидается ввод
if c=='a':
if list_1[0]=='alpha':
print 'Alpha'

elif list_1[0]=='beta':
print 'Beta'

elif list_1[0]=='gamma':
print 'Gamma'

elif c=='b':
if list_1[1]=='alpha':
print 'Alpha'

elif list_1[1]=='beta':
print 'Beta'

elif list_1[1]=='gamma':
print 'Gamma'

elif c=='c':
if list_1[2]=='alpha':
print 'Alpha'

elif list_1[2]=='beta':
print 'Beta'

elif list_1[2]=='gamma':
print 'Gamma'
Помогите упростить fun().
И каким образом можно сделать так чтобы вывод for имел такой вид:

gamma 7
beta 5
alpha 3



Офлайн

#2 Март 1, 2010 16:54:02

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

Помогите исправить

c=getch() # Ожидается ввод
If c == 'a':
index = 0
elif c == 'b':
index == 1
elif c == 'c':
index == 2

print list_1[index].title()



Офлайн

#3 Март 1, 2010 16:56:18

Ed
От:
Зарегистрирован: 2008-12-13
Сообщения: 1032
Репутация: +  13  -
Профиль   Отправить e-mail  

Помогите исправить

sumrak_ss
Помогите упростить fun().
def fun():
while 1:
c = getch()
if c in 'abc':
print list_1[ord(c)-ord('a')].capitalize()
И каким образом можно сделать так чтобы вывод for имел такой вид:
gamma 7
beta 5
alpha 3
list_1=['gamma', 'beta', 'alpha']
list_2=['[a]', '[b]', '[c]']
list_3=[7, 5, 3]

print '\n'.join(["%s %s %d" % item for item in zip(list_2, list_1, list_3)])



Отредактировано (Март 1, 2010 23:22:47)

Офлайн

#4 Март 1, 2010 16:59:02

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

Помогите исправить

i = ord(c) - ord('a')
О_о'
Хакер епта :D



Офлайн

#5 Март 1, 2010 17:01:12

Ed
От:
Зарегистрирован: 2008-12-13
Сообщения: 1032
Репутация: +  13  -
Профиль   Отправить e-mail  

Помогите исправить

А в чем проблема?



Офлайн

#6 Март 1, 2010 17:06:31

pasaranax
От:
Зарегистрирован: 2009-06-13
Сообщения: 574
Репутация: +  0  -
Профиль   Отправить e-mail  

Помогите исправить

Печатать без переноса строки можно так: sys.stdout.write(“bla”) во втором или print(“bla”, end=“”) в третьем питоне.



Офлайн

#7 Март 1, 2010 17:26:20

knkd
От:
Зарегистрирован: 2009-06-14
Сообщения: 225
Репутация: +  0  -
Профиль   Отправить e-mail  

Помогите исправить

pasaranax
ечатать без переноса строки можно так: sys.stdout.write(“bla”) во втором или print(“bla”, end=“”) в третьем питоне.
А чем не подходит print x, (принт икс запятая)?



Офлайн

#8 Март 1, 2010 17:28:05

bazooka
От:
Зарегистрирован: 2009-04-12
Сообщения: 165
Репутация: +  0  -
Профиль   Отправить e-mail  

Помогите исправить

pasaranax
Печатать без переноса строки можно так: sys.stdout.write(“bla”) во втором или print(“bla”, end=“”) в третьем питоне.
или
print 'bla',
или print(“bla”, end=“”) во втором если дописать
from __future__ import print_function



Отредактировано (Март 1, 2010 17:28:23)

Офлайн

#9 Март 1, 2010 17:47:18

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

Помогите исправить

А в чем проблема?
с другими буквами может не сработать уже :D



Офлайн

#10 Март 1, 2010 17:54:37

Ed
От:
Зарегистрирован: 2008-12-13
Сообщения: 1032
Репутация: +  13  -
Профиль   Отправить e-mail  

Помогите исправить

Работает точно так же, как исходный пример :)
Если бы там были другие буквы, то и мое и твое решения были бы другими.



Офлайн

Board footer

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

Powered by DjangoBB

Lo-Fi Version