Kezdőoldal » Számítástechnika » Programozás » Szeretnék egy kis segítséget...

Szeretnék egy kis segítséget Pythonban. (? )

Figyelt kérdés

Sziasztok a következő a feladat:


rjon egy programot, ami egy új változóba fordított sorrendben másolja át egy karakterlánc

karaktereit.

Így például « zorglub » ­ból « bulgroz» lesz.


El is készítettem:


a = "szia"

n=a[3]

b=0

while b < 4:

....print (a[3-b],)

....b=b+1


Csak egy gond van vele: Nem egy sorba írja ki a "aizs" szót, hanem:

a

i

z

s


Nem tudom, hogy csinálhatnám meg, hogy egy sorba írja..

Találtam egy ilyet, hogy:


>>> a, b, c = 1, 1, 1

>>> while c < 11 :

... print b,

... a, b, c = b, a+b, c+1

Amikor elindítjuk a programot, a következőt kapjuk :

1 2 3 5 8 13 21 34 55 89

A Fibonacci sor tagjai ugyanabba a sorba vannak kiírva. Ezt annak a vesszőnek köszönhetjük, amit a print

utasítást tartalmazó sor végére írtunk. Ha töröljük a vesszőt, akkor a számok egymás alá lesznek írva.


A segítségeket előre is megköszönném...


Az én esetemben, tökmindegy hova rakom a vesszőt, ugyanúgy egymás alá irkálja...



2015. nov. 8. 16:35
1 2
 11/15 A kérdező kommentje:

Áhhh.... *-*


Ezer köszönet... :D


Működik.. :D


Ilyen lett..


a="mindegymicsoda"

b=1

c=len(a)

while b<=c:

....print (a[c-b],end="",flush=True)

....b=b+1

2015. nov. 10. 19:41
 12/15 A kérdező kommentje:

Egyébként, csak akkor válaszolj, ha tényleg nem zavarlak. :D


Van egy feladat:


. Az   előző   gyakorlatból   kiindulva   írjon   egy   scriptet,   ami   meghatározza,   hogy   egy

karakterlánc palindrom e (vagyis ami mindkét irányból olvasva ugyan az), mint például

« radar » vagy « sós »



Na, el is készítettem a dolgot:


a="tarrat"

b = len(a)

c=-1

d=0

while a[d] == a[c]:

d=d+1

c=c-1

if a[d]==a[c]:

print ("true")

else: print("false")


Működik, de ha a szó visszafelé is ugyanaz, akkor ötször (6 betűs szó) írja ki, hogy "true".


Ha nem az a szó, akkor csak egyszer, hogy "false" ezzel nincs baj.


Meglehetne oldani, hogy csak egyszer írja ki?


Valami olyanra gondoltam, hogyha a[d] minden tagja megegyezik a[c]-vel akkor írja ki, hogy true... csak nem ismerem a parancsot.... >.>

2015. nov. 10. 19:59
 13/15 A kérdező kommentje:

a="tarrat"

b = len(a)

c=-1

d=0

while a[d] == a[c]:

....d=d+1

....c=c-1

....if a[d]==a[c]:

........print ("true")

....else: print("false")


Így akartam leírni...

2015. nov. 10. 20:00
 14/15 anonim ***** válasza:

Az előző feladat alapján úgy lehetne megoldani hogy megfordítod a szót, és megnézed e hogy egyezik e az eredetivel:


szo = "radar"

szo2 = ""


<- ide beilleszted az előző kódod csak print helyett a szo2-höz fűzöd mindig hozzá a betűket


if szo == szo2:

. . print("true")

else

. . print("false")



Nálad most minden alkalommal kiírja hogy true ha talál egyező betűt és false ha talál nem egyezőt. A cikluson kívülre kéne tenni a kiírást, cikluson belül csak meg kell jegyezni hogy igaz e vagy hamis.


Ekkor így néz ki:


szo = "tarrat"

hossz = len(szo)

palindrom = "true"

i = 0


while i < hossz:

. . if szo[i] != szo[hossz-1-i]:

. . . . palindrom = "false"

. . i = i + 1


print(palindrom)


Csak akkor legyen true a kiírt szöveg ha soha nem szalad be a false ágba, mert ha beleszalad, akkor már tudjuk hogy nem palindrom.


Nem tudom hogy tanultad e a break, continue és else szavakat a while ciklusnál de hatékonyabb megoldás ez:


szo = "tarrat"

hossz = len(szo)

i = 0


while i < hossz:

. . if szo[i] != szo[hossz-1-i]:

. . . . print("false")

. . . . break

. . i = i + 1

else:

. . print("true")


Ha belép a false ágba, kiírja hogy false majd kilép a ciklusból, nem kell tovább futnia ha tudjuk hogy már úgysem lesz igaz hogy palindrom. Ha lefut a ciklus anélkül hogy elérne egy break-et akkor belé az else ágba és kiírja true.

2015. nov. 10. 20:54
Hasznos számodra ez a válasz?
 15/15 A kérdező kommentje:

A break, continuet még nem tanultam. Remélem hamarosan eljutok odáig is. :D


Köszönöm a segítséget megint. Így már értem.... még tegnapelőtt megcsináltam ezt a feladatot háromféleképpen, de csak azonos hosszúságú szóknál működött volna a feladat..

Így már minden világos...

(Ha nagyon elakadnék írok, ha nem zavar... :D)

2015. nov. 10. 21:53
1 2

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!