aa
Hugo: python.py
#!/usr/local/python
print "IT 's beggining of the END";

mam projekt na zatydzien; przeliczanie liczb 16−>10, 2−>8 itp + analiza tekstu, cos tam
entropia, to wszystko mialo byc w perlu ale Hugo chce w pythonie (bo wiedzial ze Dziadko nie
wie "co to jest perl" a w pythonie jest pro i gotowaniu 8) )
Skad brac zrodla nauki? youtube? jakas konkretna strona? taka fajna znalazlem zaczalem wkuwac:
www.python.org
13 maj 13:54
Draghan: W zasadzie, skoro umiesz C/C++, to Python nie będzie jakimś zaskoczeniem. Składnia trochę inna,
biblioteki bardziej cywilizowane...
Chyba wygodniej się pisze w Pythonie, niż w (witaminie) C/C++. Dużą zaletą są tablice
asocjacyjne i pętelka foreach.
Na szybkiego znalazłem stronę:
http://szgrabowski.kis.p.lodz.pl/Python-podstawy.html
, ale mi się nie podoba.

W ogóle Python mi się nie podoba.
13 maj 15:11
Draghan: ...plus do zalet (a może i wad?

) można dopisać dynamiczne typowanie zmiennych.
13 maj 15:13
Dziadek Mróz:
Hugo, najpierw podstawy, inaczej nie gadamy, ok? A projekt to pikuś, nawet można zrobić funkcję
konwertującą na z dowolnego na dowolny system (bodajże max 32, od 0 do Z)
13 maj 16:36
Kejt:
Jeśli chcesz od samiutkich podstaw, to polecam
http://www.codecademy.com/
Jakbyś miał pytania to ostatnio w nim sporo piszę, więc mogę coś podpowiedzieć

a no i oczywiście
http://stackoverflow.com/ najlepszy przyjaciel każdego programisty i nie tylko
13 maj 19:00
b.: Tutaj jest strona z samouczkiem, od którego warto zacząć
https://docs.python.org/3/
i dokumentacją, która przydaje się dalej.
Uważaj na wersje, są rozpowszechnione dwie: 2.x oraz 3.x i trochę się różnią.
13 maj 19:28
Hugo: Dziękuję za wszystko

Myśle zaczne od weekendu ostro
13 maj 20:08
13 maj 20:08
Hugo:

@Draghan
Ten link do szgrabowski jest mega

mój pyton to 2.7 pisze pod ubuntu
Pisze i pisze dzis sb program w .py
chce by przeliczal systemy liczb ale wszystko ma przechodzic przez dwójkowy
niestety mam błąd nie wiem jak sb poradzić

Traceback (most recent call last):
File "./r.py", line 28, in <module>
if liczba[i] > 3:
TypeError: 'int' object has no attribute '__getitem__'
Hugo@Hugo−Lenovo−Y50−70:~/Pulpit/trial$
liczba − jest podawana przez użytkownika; traktuje ją jako tabelke

można?
polecenie:
liczba = input()

wysypuje ze nie można porównywać na tej "tablicy" w tym wypadku chodzlo o konwersje 8−>2
ktos wie jak rozwiązać?
17 maj 15:38
Hugo: zamienilemna liczba = raw
input() jednak cos za cos

File "./r.py", line 32, in <module>
liczba[i] = liczba[i] − 4
TypeError: unsupported operand type(s) for −: 'str' and 'int'

? do stringa Hugo chce odcjąć inta
17 maj 15:43
Hugo: 1. Bo zczytuje liczbe od użytkownika
2. Tam może być 0−9 A−E (szesnastkowy)
3. string to tablica charów

! i można pozycje [x] i latwiej tylko ta konwersja
4. czyli jak
−> string
−> tablie
intów
−> przeliczać?
co radzicie
17 maj 15:45
Dziadek Mróz:
input() zwraca liczbę nie string
jeżeli chcesz liczbę traktować jak string to używaj raw_input()
17 maj 15:56
Dziadek Mróz:
W pythonie nie ma char−ów
Stringi to tablice stringów jednoelementowych
17 maj 15:57
Dziadek Mróz:
Jakbyś dostał liczbę binarną to jak ją konwertujesz z kartki na dziesiętną?
Jakbyś dostał liczbę dziesiętną to jak ją konwertujesz z kartki na binarną?
17 maj 15:58
Dziadek Mróz:
Twój algorytm kartkowy jest Twoim algorytmem do napisania w Pythonie
17 maj 15:58
Dziadek Mróz:
Kiedyś robiłem taką funkcję z kodu 10 na dowolny (do 32 bodajże). Najpierw funkcja tworzyła
cyfry kodu a później robiła modulo i wklejała do wynikowego stringa.
17 maj 16:11
Hugo: Pomozesz

mi troche
17 maj 16:52
Hugo: http://zapodaj.net/77487920291ca.png.html
wiec chcialem by wszystko w dwójkowy ( i tyle na razie mam)
myslalem cos o modulo ale ten sposob tez wydawal mi sie sensowny
wiec liczbe 8−kową rozkladalo na czynniki
jezeli liczba > 4 to val = 1 , else val = 0
if liczba > 2: to val = 1 , else val = 0
if liczba > 1: to val = 1 , else val = 0
2
n
dla szesnastkowego było to samo tylko o jedną potęge większą −> 2
3 = 8
masz pomysł

? czy to bz sensu i robic z modulo
17 maj 16:56
Hugo:
17 maj 16:56
undefined: Hej może mi ktoś wytłumaczyć co to znaczy?
"Przyjmujemy, że w zapisie dziesiętnym żadnej liczby nie ma nieznaczących 0, co
oznacza, że 0 występuje na najbardziej znaczącej pozycji tylko w zapisie liczby zero. "
17 maj 16:58
Dziadek Mróz:
12310 = ...
123 | 1 123 % 2 = 1, (123 − 1)/2 = 61
61 | 1
30 | 0 30 % 2 = 0, (30 − 0)/2 = 15
15 | 1
7 | 1
3 | 1
1 | 1
0
... = 11110112
17 maj 17:10
Hugo: #!/usr/bin/env python
wyraz = rawinput()
print wyraz
x = len(wyraz)
print "dlugosc to", x
for i in range(x):
k = wyraz[i]
if k>4:
wyraz[i]=int(k)−4
o to chodzi
mam stringa jak go zmodyfikowac? bo to nie dziala
17 maj 17:16
Hugo: Dziadek

! widze ze moja metoda ci nie odpowiada
17 maj 17:17
Hugo: no dobra to jest easy, a co z szesnastkowymi i 8−kowymi?
17 maj 17:18
Dziadek Mróz:
Hugo, zamiast:
for i in range(x):
pisz:
for znak in wyraz:
17 maj 17:18
Dziadek Mróz:
I wtedy masz iterację po elementach napisu
17 maj 17:18
Dziadek Mróz:
takim sposobem każdy system:
123 | 11 123 % 16 = 11, (123 − 11)/16 = 7
7 | 7 7 % 16 = 7, (7 − 7)/16 = 0
0
12310 = 7B16
123 | 6 123 % 13 = 6, (123 − 6)/13 = 9
9 | 9
0 |
12310 = 9613
123 | 5 123 % 5 = 3, (123 − 3)/5 = 24
24 | 4 24 % 5 = 4, (24 − 4)/5 = 4
4 | 4
0 |
12310 = 4455
17 maj 17:23
Hugo: ooooooooo

fajne
ale x = len(wyraz)
...range(x)
to samo

.. ale dziękuje za info
co poradzisz z przeliczania 8−> 2 i 16 −> 2? chyba ze zmienic całkowicie koncepcje
17 maj 17:24
Hugo:

Czyli sugerujesz zeby wszystko wrzucac w dziesietny a potemdopiero w docelowy
17 maj 17:25
Hugo: ale możesz byc w jakims stopniu dumny z Huga bo nie idzie na łatwizny i nie kopiuje tego z neta
tylko probuje sie nauczyc

a to jest projekt; liczy sie program a nie to co w glowie
17 maj 17:29
Dziadek Mróz:
8 −> 2
3458 = 011 100 1012
16 −> 2
34516 = 0011 0100 01012
17 maj 17:31
Dziadek Mróz:
Jakby to mogło wyglądać w algorytmie:
funkcja konwertuj(liczba, bazowa, wyjściowa) −> string
konwertuj("345", 8, 2)
wynik = []
for cyfra in liczba:
wynik.append(konwertuj(cyfra, bazowa, wyjściowa))
return "".join(wynik)
17 maj 17:39
Dziadek Mróz:
W międzyczasie konwersja gdy len(liczba) == 1
17 maj 17:40
Dziadek Mróz:
Jeżeli nie wiesz o czym piszę to jeżeli masz IDLE to pobaw się tablicami wynik = [] i
napisami i ich metodami.
17 maj 17:46
Hugo: mam pytanie

jak zrobic by w for jak mi wypisuje nie przenosilo do nowej lini tylko sklejało
text

?
x = "ok"
for ....range(5)
print x
#
ok
ok
ok
ok
ok
a ja chce to razem bez spacji

okokokokokok
wiem ze istnieje możliwość print x, (z przecinkiem na koncu, traktuje to jako spacje)
ale ja chce bz spacji

wiem ze jest takie cos jak
print x, end=""
ale działa to tylko dla tekstu nie dla zmiennej
wiec jak

?!
17 maj 18:17
17 maj 18:30
Hugo: nie mam jeszcze wiedzy jak z C++

a chce kodzic i temu te tam wyzej problemy −,− , np są
funkcje append i wgl del o listy? a ja nie wiedzialem a w c nie ma xd i wgl nie ma tabelek
tylko są listy : P
17 maj 18:31
Draghan: Nie rozumiem Cię.
17 maj 18:33
Dziadek Mróz:
kilka sposobów (Python 3.4):
1.
sys.stdout.write(x)
2.
print(x * 5)
3.
for i in range(5):
print(x, end='')
Python 2.7, pewnie tak jeszcze:
4.
for i in range(5):
print x,
17 maj 18:38
Hugo: dziala modulo i posortowal wynik
17 maj 18:38
Dziadek Mróz:
no to git
17 maj 18:40
17 maj 19:17
Dziadek Mróz:
to teraz napisz moją propozycję funkcji przeliczania z dowolnego na dowolny
def przelicz(liczba, bazowa, docelowa):
...
gdzie liczba to liczba w systemie bazowym a funkcja ma zwrócić konwersję liczby na liczbę w
systemie docelowym. Czyli np.:
przelicz("123", 10, 16) zwróci "7B"
przelicz("123", 16, 5) zwróci "2131"
17 maj 19:47
Hugo: http://zapodaj.net/6f262c1b43fb8.png.html
zamienia z systemy 1−16 na system 1−9

przemianą pośrednią jest dziesiętny
musze jeszcze dodac linijke by można było zamieniac także na 10−16

, co do 16+ jest sens?
alfabet jest z 'z' i co potem ^^? ASCII? heh

ciesze sie ze tyle napisalem
18 maj 01:54