Python programozás - Szoftverfejlesztés fórum

üzenetek

hozzászólások


Orton96
(aktív tag)

Most már csak annyit ír ki, hogy:
$: command not found


sztanozs
(veterán)
Blog

/usr/bin/python <= ez létezik?

Vazz - $ jel nem kell a parancs elé, az csak a normál felhasználói shell jelzője...

[ Szerkesztve ]


Orton96
(aktív tag)

Hát akkor feladom Ubuntun... Majd Windózon biztos megy. :)

Mindenesetre mindenkinek köszönöm a segítségét! :R


Jester01
(veterán)
Blog

Legalább azt megtehetted volna amire kértelek, ti. hogy bemásolod (felőlem akár screenshot is lehet), hogy mit csináltál.


Siriusb
(veterán)

Attól félek, win alatt sem fog menni neki, de ne legyen igazam. Valószínűleg sok volt az újdonság is egyszerre, linux is, terminál is, python is...


Orton96
(aktív tag)

Megcsináltam azt is, de egyszerűen sehogy sem akar működni. :(

#Siriusb: Ja, szerintem is. :) Máshogy próbálkozok, ebből a könyvből igyekszem megtanulni a Pythont. :)

Egyenlőre köszönöm nektek az eddigi segítséget, biztosan visszatérek még majd ide. ;) :R

[ Szerkesztve ]


Jester01
(veterán)
Blog

Én csak azt kértem, hogy másold be ide mit csináltál, hogy megmondhassuk mi nem jó.


Orton96
(aktív tag)

Mindent megcsináltam úgy, ahogy írtad, de már leírtam ide: [link]


Siriusb
(veterán)

Még egyszer nekifutok, hátha. Egy az egybe kimásolva a terminálból. Elöljáróban:
1) ~/tmp az a /home partíciómon levő könyvtár rövid útvonala. Abszolút útvonal: /home/siriusb/tmp Bármely, neked tetsző könyvtárban lehetsz, ez csak egy példa.
2) siriusb @arch ~/tmp $ Ezt soha nem kell begépelni ez a bash prompt, kifejtve: bejelentkezett felhasználó + @ host név + útvonal + és végül egy karakter ($), ami jelzi, hogy innentől kezdve jön az, amit én, mint felhasználó írok be (értsd: parancs)

Lássuk a terminált:
siriusb @arch ~/tmp $ echo -e 'print "Hello. I am a python program."\nname = raw_input("What is your name? ")\nprint "Hello there, " + name + "!"' > hello.py
siriusb @arch ~/tmp $ python hello.py
Hello. I am a python program.
What is your name? alfa
Hello there, alfa!
siriusb @arch ~/tmp $ python
Python 2.7.3 (default, Dec 22 2012, 21:14:12)
[GCC 4.7.2] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>>

Vastaggal kiemelve, amit valóban be kell gépelned!

Szintaxis kiemeléssel, persze nem az igazi.

Ha kiadod a python parancsot, akkor egy interaktív felületre jutsz, ahol a >>> jel után tudod kiadni az utasításokat, pl. 5 + 5

siriusb @arch ~/tmp $ python
Python 2.7.3 (default, Dec 22 2012, 21:14:12)
[GCC 4.7.2] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> 5+5
10
>>>

Egyébként, amennyiben nincs különösebb okod rá, szvsz érdemesebb lenne a python3-at tanulni. Ha megy az angol: [link]

Szerk:
(#168) Orton96
Ezt most a python írta ki? Mert akkor az a baj, amit gyanítottunk, hogy olyan dolgokat is beírsz a py fájlba, amit nem kellene.

[ Szerkesztve ]


Siriusb
(veterán)

Helyesbítek, ne gépeld, hanem másold a vastagon szedett részt. :)
Terminálban a beillesztés ctrl+shift+v, vagy egér jobb klikk és kiválasztod a beillesztés menüpontot.


Orton96
(aktív tag)

Egyszerűen zseniális! Elsőre működött! :R
Köszönöm a segítségedet. Lehet, hogy a link szerint tényleg érdemesebb lenne Python3-mat tanulni, majd valahogy biztosan elleszek az angollal is.

:R


Siriusb
(veterán)

Szívesen. Remélem sikerült kihámoznod azt is, mit rontottál el előzőleg, ami a jövőbeni linux használat miatt fontos lehet.


aAron_
(őstag)

üdv!

for ciklusok, while loop-ok, if statement-ek elejét végét nem lehet valahogy jelölni? kicsit bonyolultabb programnál számomra már kezd átláthatatlanná válni

egyébként maga a fordító is honnan látja, hogy melyiknek mikor van vége? C után elég furcsa számomra


sztanozs
(veterán)
Blog

Az indent határozza meg a scope-ot.
Kösnnyen átlátható, csak kell egy kis idő, mire az ember szeme rááll. Utána viszont egyértelmű.


raggg
(senior tag)

Egy jó editor jelzi az indentet és áttekinthető marad (pl. sublime text, de más is jó lehet). A fordító meg pont azért látja, mert kötelező indent van, nem pedig bajusz ( curly braces - { } ).


aAron_
(őstag)

értem, köszönöm :R


aAron_
(őstag)

i=0.1

S=0
while S<=1:
E=0
while E<=1:
M=0
while M<=1:
O=0
while O<=1:
T=0
while T<=1:
if S+E+M+O+T == 1:
s1=S
e1=E
m1=M
o1=O
t1=T
T+=i
O+=i
M+=i
E+=i
S+=i

hogy lehetséges, hogy az eredmény s1 = 0.8; e1 = 0.2
az én logikám szerint s1 = 1.0; többi = 0 lenne a helyes

ha kérhetem valaki vessen rá egy pillantást, sehogy sem jövök rá :((

[ Szerkesztve ]


cucka
(addikt)
Blog

Mivel lebegőpontos számokkal dolgozol, a
if S+E+M+O+T == 1:
sorod nem úgy fog működni, ahogy azt elképzeled. Használj fixpontos értékeket (kulcsszó: decimal). Amúgy mi értelme ennek a programnak?

Amúgy kipróbáltam, a kérdéses belső if feltétele 851 alkalommal fog teljesülni a program futása közben, az s1, e1, stb. értékei minden esetben különbözőek, csak ugye minden alkalommal felül is írod a korábbi értékeket.

[ Szerkesztve ]


aAron_
(őstag)

természetesen ennek a programnak sok értelme így nincsen, csomó mindent kiszedtem belőle, hogy jobban átlátható legyen, ill még nincs optimalizálva sem

köszönöm a válaszod


Siriusb
(veterán)

Python 3-hoz milyen GUI-t ajánlanátok? Feltételek: céges szoftverhez kell, Linux és Windows alatt.

Utóbbi napokban elkezdtem beleásni magam a PyGobject/Gtk+ 3-ba és csak most kezdtem realizálni, hogy ez nincs Windowsra.
Egyelőre a PySide-t találtam, habár nem vagyok egy QT fan. Tkinter annyira nem jön be, különösen a Gtk3 -hoz hasonlítva.

üzenetek