PDA

Просмотр полной версии : Python



Black1980
14.12.2006, 12:46
Всем привет, есть ли люди которые пишут проги на питоне?Хотелось бы узнать, может кто подскажет соответствия команд питона спековским командам бейсика??? Заранее спасибо....

maximk
14.12.2006, 13:08
Хотелось бы узнать, может кто подскажет соответствия команд питона спековским командам бейсика???

Люди-то есть, только вопрос так задавать не стОит. Языки достаточно разные, а вообще if он и в африке if :)

Black1980
14.12.2006, 13:29
Вот и получается что многие операторыимеют аналоги, а вот некоторые нет. Очень понравился этот язык, но никак не могу въехать каксделать некоторые вещи. Я этот язык изучаю подвум книгам одна из которых 30 часов бейсика для начинающих ( я из нее беру просте програмки и перевожу их в питон), вот и задался задачей про команды языка...

maximk
14.12.2006, 14:25
Хорошая книжка - Learning Python, издательства O'Reilly, но русской редакции я не встречал. Электронное в пиринговых сетях найти не проблема. Если с английским лады - то лучше ее найти и посмотреть.

Спектрумовский бейсик не имеет развитых возможностей процедурного программирования и не имеет никаких объекто-ориентированных возможностей. Поэтому писать на питоне, "как на бейсике" не самый удачный подход.

elf/2
14.12.2006, 14:34
Хорошая книжка - Learning Python, издательства O'Reilly, но русской редакции я не встречал. Электронное в пиринговых сетях найти не проблема. Если с английским лады - то лучше ее найти и посмотреть.
я бы порекомендовал Dive into Python: доступна публично, как минимум начало переведено на русский


Хотелось бы узнать, может кто подскажет соответствия команд питона спековским командам бейсика???
в питоне другой подход к написанию кода. переводить один в один с бейсика - это не правилно


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

Black1980
14.12.2006, 15:26
напиши пример на бейсике, попробую сконвертить в питон...
А если еще и коментарии будут то вообще будет супер...

10 BORDER 1: PAPER 1: CLS
20 REM SCREEN
100 LET B$=" "
110 LET A$=B$+"PROGRAM: B.STROKA... *** DEMO ***"
120 LET A$=A$+" UP....Q, DOWN....A, LEFT....O, "
130 LET A$=A$+"RIGHT....P, FIRE....M, END....E"
140 LET A$=A$+" AUTHOR: Petrow Iwan 1993"
150 LET A$=A$+" PRESS ANY KEY TO CONTINUE"
160 LET A$=A$+B$
200 FOR N=1 TO LEN A$31
210 PAUSE 7: IF INKEY$<>"" THEN GO TO 300
220 LET B$=A$(N TO N+31)
230 PRINT #0;AT 1,0; INK 6;B$
240 NEXT N
250 GO TO 200

Обычная бегущая строка...


в питоне другой подход к написанию кода. переводить один в один с бейсика - это не правилно
Просто мне так проще понять работу команд питона... В циклах мне такой подходздорово помог...


я бы порекомендовал Dive into Python: доступна публично, как минимум начало переведено на русский
А нету адреса где ее скачать можно???

elf/2
14.12.2006, 16:24
А если еще и коментарии будут то вообще будет супер...
1. работа с консолью (т.е. аналоги AT, INK, PAPER) зависят от того под какую ось пишем. соотвественно в сам язык это не входит. надо смотреть спец. модули, например curses под линуксом (http://www.amk.ca/python/howto/curses/) или Console (http://effbot.org/zone/console-index.htm) для винды.
2. конкатенация строк делается обычным плюсом т.е. a = "string1" + " " + "string2"
3. цикл "вырезания" куска строки можно сделать например так:
for i in range(len(str)-31) :
part = str[i:i+31] # используем slice
4. аналог pause лежит в модуле time:
import time
time.sleep(60)


А нету адреса где ее скачать можно???
http://diveintopython.org/

в следующий раз сначала спроси у google.

Black1980
19.12.2006, 21:15
Спасибо огромное за ссылку, извини - сразу не догадался в гугль залезть... :)
У меня вот такой еще вопрос, копаюсь щас с console модулем, но не знаю в правельном я направлении или нет. С цветами разобрался, с расположением текста в произвольной позиции тоже, но вот ни как не могу понять как вывести картинку на экран в форматах jpg и gif в заданную позицию и при нужных мне размерах... Помогите пожалуйсто, если приведете самый допотопный ответ с кодом буду по гроб жизни благодарен. Просто на каких либо примерах легче разобраться, а английский я не особо знаю... Заранее спасибо...

Sinus
20.12.2006, 11:25
кажется мне что в консоль ты никак не выведешь картинку, на то она и консоль ;)
вот короче игрушка загонная на питоне и с сорсами. может подчерпнёшь чего оттуда:

http://louhi.kempele.fi/~skyostil/uv/fretsonfire/source/

(она под OpenGL)

Black1980
20.12.2006, 12:42
На счетконсоли что-то я тожепотихоньку прихожу к выводу что картинку не выведешь на экран, а за ссылку спасибо, но мне бы для начала с простой задачкой разобратьсяа потом уже в опенгл лезть... :)

P.S. Хотелось бы сразу оговориться, что все это делается на питоне под Symbian OS (Series60)... Почему на этом форуме, ответ очень простой, здесь люди более дружелюбны и могут хоть чем то помочь...

elf/2
20.12.2006, 12:43
У меня вот такой еще вопрос, копаюсь щас с console модулем, но не знаю в правельном я направлении или нет. С цветами разобрался, с расположением текста в произвольной позиции тоже, но вот ни как не могу понять как вывести картинку на экран в форматах jpg и gif в заданную позицию и при нужных мне размерах... Помогите пожалуйсто, если приведете самый допотопный ответ с кодом буду по гроб жизни благодарен. Просто на каких либо примерах легче разобраться, а английский я не особо знаю... Заранее спасибо...
console по определению текстовая. соответсвенно показывать картинки оно не может :(

в GUI модулях я не силен. но можно посмотреть например в сторону PIL (http://www.pythonware.com/library/)

для винды пример будет выглядеть как-то так:
from PIL import Image, ImageWin

im = Image.open("picture.jpg")
im.resize((100,100))

dib = ImageWin.Dib(im)

# считаю что окно в которое будем рисовать
# уже создано с помощью какого-нибудь
# Tkinter'а (это такой модуль для создания UI)
hwnd = ImageWin.HWND(widget.winfo_id())

dib.draw(hwnd, (0,0,100,100))

Black1980
26.12.2006, 10:25
А как можно реализовать команду RND*256??? Заранее спасибо...

Black1980
26.12.2006, 10:30
Ступил, извиняюсь, вопрос снят с повестки дня.... :)