Kezdőoldal » Számítástechnika » Programozás » Pythonban hogyan kell menteni...

Pythonban hogyan kell menteni úgy, hogy ne a jegyzettömböt nyissa meg?

Figyelt kérdés

File -> Save as -> kimentem az asztalra valami.py néven és ha rámegyek a jegyzettömböt nyitja meg


Python 3.5.1-em van


2015. dec. 30. 13:55
1 2 3 4 5 6
 41/57 A kérdező kommentje:

Na akkor:

csillag = *

a = 1

while a < 7:

a = a + 1

csillag = csillag + 1

print csillag


Hiba:

Traceback (most recent call last):

File "<pyshell$36>", line 2, in <module>

csillag = csillag + 1

TypeError: cannot concate 'str' and 'int' objects


Ha így írom: csillag = csillag + int(1)

Ugyan azt a hibát kapom

Ha csillag = csillag + str(1) akkor:

*1

*11

*111

...stb

2016. jan. 2. 15:46
 42/57 tabaki ***** válasza:
Csillag nem szám, hanem szöveg. Hogyan akarsz hozzáadni egy számot, még akkor is, ha függvénnyel biztosítod, hogy ne lehessen törtszám? És főképpen minek? Miért nem egy másik szöveget, de nem ám, azt, hogy "1", ahogy megoldottad (mint tudjuk, a str(1) ezt jelenti), hanem például egy újabb csillagot?
2016. jan. 2. 16:29
Hasznos számodra ez a válasz?
 43/57 tabaki ***** válasza:
Egyébként őszintén remélem, hogy a megoldásaid kiigazítása után fogod majd a fejed, hogy hogyan is nem jöttél rá ezeknek a szimpla fejtörőknek a nyitjára... Itt már annyira közel voltál, hogy nincs szívem helyetted ideróni a működő változatot. Majd, ha neked már megvan.
2016. jan. 2. 16:35
Hasznos számodra ez a válasz?
 44/57 A kérdező kommentje:

Tehát:

csil1 = "*"

csil2 = "*"

a = 1

while a < 8:

csil1 = csil1+csil2

a = a + 1

print csil1

2016. jan. 2. 16:43
 45/57 tabaki ***** válasza:
Ezek szerint valóban áttértél kettes változatra. Az dicsérendő, hogy már működik, most próbáld egyszerűsíteni, meg miért két csillaggal indul, stb. Én egyelőre megyek kajálni, utána visszanézek.
2016. jan. 2. 17:08
Hasznos számodra ez a válasz?
 46/57 A kérdező kommentje:

Fel kell cserélni a printet

while a < 8:

print cs

a = a +1

cs = cs+ cs1


és SIKERÜLT! :D

de hogyan kéne ezt egyszerűsíteni?

2016. jan. 2. 17:43
 47/57 tabaki ***** válasza:

Igaz, ami igaz, túl sok nem várható, de például lehet a két változó használata helyett konstanssal növelgetni a stringet (egyáltalán nem biztos, hogy ennek gyakorlati haszna is van):


a = 0

csillag = ""

while a < 7:

      csillag = csillag + "*"

      print(csillag)

      a = a + 1


De így is meg lehet oldani (még mindig a while berkein belül):


a = 0

while a < 7:

      a = a + 1

      print("*" * a)


For-ral meg mondjuk így (akár egy sorba is írható, csak kár lenne hülyeségeket megszoknod):


for csill in range(1,8):

      print("*" * csill)

2016. jan. 2. 18:58
Hasznos számodra ez a válasz?
 48/57 tabaki ***** válasza:

Ja, bocs, most látom, hogy én python3-ban írtam.

Sebaj, legalább alkalmad van gyakorolni a kettesre való átírást...

Egy darabig megint eltűnök néhány órára.

2016. jan. 2. 19:02
Hasznos számodra ez a válasz?
 49/57 A kérdező kommentje:

Viszont a for -nál még nem járok :)


Na de már csak 1 gyakorlat van (ez a csillagos rávilágított a másik kettőre is ami úgyszint lehetetlennek tűnt).

Ez az átváltós. Valami tipp? :D

2016. jan. 2. 19:29
 50/57 tabaki ***** válasza:

Jaj, ne hülyéskedj már. Ezen a szinten csak annyi a különbség, hogy a python3-ban zárójelek közé teszed a print paraméterét, a python2-ben meg nem -- de ezt már eleve tudod, hiszen éppen fentebb írtál működőképes python2 print utasításokat. Itt vannak az eddigiek kettesben, megfejelve egy újabb while-ciklusos megoldással:


a = 0

csillag = ""

while a < 7:

      a = a + 1

      csillag = csillag + "*"

      print csillag


a = 0

while a < 7:

      a = a + 1

      print "*" * a


for a in range(1,8): print "*" * a


csillag = ""

while csillag < "*******": # ez 7 csillag (ha a GyK esetleg rosszul irja ki)

      csillag = csillag + "*"

      print csillag


Többek között ezért kell pontosan értened, hogy mi mit csinál. Ha tudod, hogy a print hogyan működik a kettesben, semmi fennakadást nem okozhat egy ilyen apró eltérés. De gondolhatsz arra is, hogy a könyv szedője sem Atyaúristen, adott esetben akár ő is hibázhat, ekkor neked kell tudnod, hogy mi kellett volna oda. Nem varázsigéket írsz be, hanem pontosan meghatározott formájú és jelentésű értelmes utasításokat.

2016. jan. 2. 21:43
Hasznos számodra ez a válasz?
1 2 3 4 5 6

Kapcsolódó kérdések:




Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu

A weboldalon megjelenő anyagok nem minősülnek szerkesztői tartalomnak, előzetes ellenőrzésen nem esnek át, az üzemeltető véleményét nem tükrözik.
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!