Уведомления

Группа в Telegram: @pythonsu

#1 Сен. 16, 2010 12:22:02

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

Кости (Кубик)

Здравствуйте. Опять обращаюсь за помощью.
Воообщем, проблема в следующем:
Мне задали имитировать кубик, чтоб при каждом броске выдовал номер и чётный он или нет.
Проблема с чётностью.
Python ни как не хочет слушаться, выдаёт что хочет или вообще ничего.
Как заставить его работать правильно?
Начало кода:

#Taringuvise
from random import*
print ("%d" % randint(1,6))
a=randint (1,6)
как я понимаю, дальше идёт с if, но почемуто не выходит. Иногда выдаёт правильные значение, иногда нет. Ради интереса написала:
Если меньше 2-х, пиши “ссс”, а если больше то “кккк”, и если один раз выходит 6 с “кккк”, то вследующий раз 6 выдаёт с “ссс”.
Помогите пожалуйста решить задачу.
Большое спасибо за помощь.



Офлайн

#2 Сен. 16, 2010 12:33:40

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

Кости (Кубик)

from random import*
print ("%d" % randint(1,6))
a=randint (1,6)
if a==1 then:
print 'Chotnoe'
if a==2 then:
print 'Nechotnoe'
#и.т.д



Офлайн

#3 Сен. 16, 2010 12:51:31

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

Кости (Кубик)

if a % 2 == 0: print "ch"
else: print "n"



Офлайн

#4 Сен. 16, 2010 13:28:53

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

Кости (Кубик)

или

print ('chet', 'nechet')[a%2]
print ('nechet' if a%2 else 'chet')
print {1:'nechet', 0:'chet'}[a%2]
# ну и совсем изврат )
print 'nechet'[a%2*2:]



Офлайн

#5 Сен. 16, 2010 13:50:18

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

Кости (Кубик)

>> print ‘nechet’

Порадовало :D



Офлайн

#6 Сен. 16, 2010 15:41:18

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

Кости (Кубик)

python4ik
if a % 2 == 0: print “ch”
else: print “n”
да, так проще.


A вообще, Murderdoll666, если у тебя не 3 версия, советую ещё почитать здесь про циклы http://docs.python.org/tutorial/controlflow.html может потом пригодится. Для новичка вполне понятно. А здесь весь учебник http://docs.python.org/tutorial/controlflow.html.



Отредактировано (Сен. 16, 2010 15:44:24)

Офлайн

#7 Сен. 16, 2010 16:29:29

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

Кости (Кубик)

FONTER
from random import*
print (“%d” % randint(1,6))
a=randint (1,6)
if a==1 then:
print ‘Chotnoe’
if a==2 then:
print ‘Nechotnoe’
Так уже пробовала, не работает

python4ik
if a % 2 == 0: print “ch”
else: print “n”
Работает, но не всегда:
>>> 
4
ch
>>> ============= RESTART =========
>>>
4
n
>>>
asv13, в вашем случае тоже не работает корректно
4
chet
>>> ========= RESTART ========
>>>
3
chet
>>>
Я не знаю, может у меня что-то не так…
SETY
A вообще, Murderdoll666, если у тебя не 3 версия, советую ещё почитать здесь про циклы http://docs.python.org/tutorial/controlflow.html может потом пригодится. Для новичка вполне понятно. А здесь весь учебник http://docs.python.org/tutorial/controlflow.html.
за учебник спасибо



Офлайн

#8 Сен. 16, 2010 17:48:18

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

Кости (Кубик)

Ну если печатается одно число, а затем к “a” присваивается уже другое, то понятно почему “не работает”.
надо сперва присваивать а потом его же и показывать (а не новое)

a = randint(1,6)
print ("a=%d, %s" % (a, 'nechet'[a%2*2:]))



Офлайн

#9 Сен. 16, 2010 18:24:01

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

Кости (Кубик)

у мну вот так все работает) asv13 верно подметил, будет тоже работать если “a” выше указать:

from random import*
a=randint (1,6)
print ("%d" % a)
if a % 2 == 0:
print "ch"
else:
print "n"



Отредактировано (Сен. 16, 2010 18:27:55)

Офлайн

#10 Сен. 17, 2010 00:18:35

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

Кости (Кубик)

Спасибо, заработало.



Отредактировано (Сен. 17, 2010 09:10:28)

Офлайн

Board footer

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

Powered by DjangoBB

Lo-Fi Version