Форум сайта python.su
31
Мы учимся,Вы наставляете….указываете на ошибки,говорите как правильно…раздел для новичков, поэтому код надо оптимизировать и писать правильно,чему мы и учимся….ВСЮ ЖИЗНЬ
Офлайн
568
sanodin
Типа этого :print "Hello, this is my program. Game in 21";
cmd = (raw_input('>>'));
import random
while cmd!='Exit':
def ran():
try:
# available in Python 2.0 and later
shuffle = random.shuffle
except AttributeError:
def shuffle(x):
for i in xrange(len(x)-1, 0, -1):
# pick an element in x[:i+1] with which to exchange x[i]
j = int(random.random() * (i+1))
x[i], x[j] = x[j], x[i]
cards = range(5,12)
shuffle(cards)
myhand = cards[:1]
return myhand
def ran1():
try:
# available in Python 2.0 and later
shuffle = random.shuffle
except AttributeError:
def shuffle(x):
for i in xrange(len(x)-1, 0, -1):
# pick an element in x[:i+1] with which to exchange x[i]
j = int(random.random() * (i+1))
x[i], x[j] = x[j], x[i]
cards = range(5,12)
shuffle(cards)
myhand = cards[:1]
return myhand
if cmd =='commands':
print '\nMenu:\n\ngogame\nsurrender\n';
cmd = (raw_input('>>'));
elif cmd == "surrender":
print "Your luser! ;)"
elif cmd == "go":
a=ran()
b=ran1()
if a > b:
print a,">",b
print "userone, WIN"
cmd = (raw_input('>>'));
elif a < b:
print a,"<",b
print "usertwo, WIN"
cmd = (raw_input('>>'));
else:
print a,"==",b
print "Userone = usertwo"
cmd = (raw_input('>>'));
Хотя сам я еще тот говнокодер детектед
def shuffle(x): for i in xrange(len(x)-1, 0, -1): # pick an element in x[:i+1] with which to exchange x[i] j = int(random.random() * (i+1)) x[i], x[j] = x[j], x[i]
Офлайн
52
- Импорты в начало.
- Определение функции в цикле даже не знаю в куда.
- Убрать точки из циклов.
- Можно вынести логику обработки ввода в функцию, которая работает со словарем {'message':function} для упрощения (для более сложной программы, полагаю, будет намного удобнее бесконечных elif).
- Названия переменных и функций поменять.
- Эээ, а функции еще и одинаковые?
- Для генерации рук использовать генераторы.
Отредактировано fata1ex (Апрель 29, 2012 23:51:08)
Офлайн
31
Да,все верно.
Я его код исправлял на предмет работоспособности,хотя,каюсь,ошибок там и правда валом.
Но в одном я не прав наверное,ТАКОЙ код ,как я написал,надо было не выставлять,ведь новичек примет за верный код,только из-за работоспособности скрипта.
Вот за то узнал еще кое что новое для себя,благодаря Вам и продолжению топика.
Отредактировано sanodin (Апрель 30, 2012 07:24:47)
Офлайн
52
Выкладывать код можно, спросив рядом совета по его качеству, чтобы новичок не думал, что это эталон. Тогда новичок увидит, как можно решить задачу другим способом, а вы (и новичок) выслушаете, что в вашем примере не нравится окружающим.
Удачи!
Офлайн
0
Всем большое спасибо. Скажите, я хочу заказать книгу. Your text to link here…
Название: Изучаем Python
Автор: Марк Лутц
Стоит ?! И скажите, с чего вы начинали.
Отредактировано Dracula (Май 1, 2012 11:21:59)
Офлайн
52
Если нужен бумажный учебник на русском, то альтернативы книгам Лутца практически нет (разве что Саммерфилд, 2009). Есть еще “Программирование” в двух томах с количество страниц over9000 и примерно такой же ценой. Выбирайте, книга - вещь хорошая. Особенно если с ней действительно работать.
Отредактировано fata1ex (Май 1, 2012 12:06:21)
Офлайн
0
fata1ex
Если нуженбумажныйучебникна русском, то альтернативы книгам Лутца практически нет (разве что Саммерфилд, 2009). Есть еще “Программирование” в двух томах с количество страниц over9000 и примерно такой же ценой. Выбирайте, книга - вещь хорошая. Особенно если с ней действительно работать.
Офлайн
19
На правах оффтопа.
Dracula
но мои попытки читать книги, в английском английском варианте, оказались четными.
Офлайн
0
cutwater
На правах оффтопа.Dracula
но мои попытки читать книги, в английском английском варианте, оказались четными.
Попробуйте нечетные попытки.
Офлайн