Kezdőoldal » Számítástechnika » Programozás » Meg lehet oldani ezeket újabb...

Meg lehet oldani ezeket újabb függvények használata nélkül?

Figyelt kérdés

win7 Python 3.7 Idle


Egy olyan programot csináltam, ami kiadja, hogy az adott szám negatív vagy pozitív-e, esetleg nulla. Print, int, float, str, input, if, else függvényeket használtam csak.


Az egyetlen hiba, hogy egész szám esetén lebegőpontos számként adja ki a számot a kimenetnél.


x = float(input("x = "))

if x>0:

print(str(x)+' is positive')

else:

if x==0:

print(str(x)+' is a neutral number, so it is neither positive nor negative')

else:

if x<0:

print(str(x)+' is negative')


Illetve egy olyan programot is csináltam, ami megállapítja, hogy egy szám tört vagy egész szám-e.


x = float(input("x = "))

y = int(x)

if x==y:

print(str(x)+' is integer')

else:

print(str(x)+' is fraction')


De itt megint az a gond, mint az előbbinél. Az egész számokat lebegőpontosan adja ki.

Hogyan lehetne megoldani ezen függvények használatával, hogy ne lebegőpontosan adja ki?


Köszönöm szépen a válaszokat.


Ui.: Találtam jegyzeteket, azokból tanulok, az iménti rövidke kódokat is én magam írtam :) A következő feladat az lenne, hogy a program állapítsa meg egy számról, hogy prímszám-e, ugyanezen függvények használatával (amennyiben ez lehetséges a while függvény használata nélkül).


2019. ápr. 3. 14:21
1 2
 1/16 A kérdező kommentje:
A behúzásokat nem mutatja :/
2019. ápr. 3. 14:27
 2/16 A kérdező kommentje:
Mindjárt linkelek
2019. ápr. 3. 14:28
 3/16 A kérdező kommentje:
2019. ápr. 3. 14:36
 4/16 anonim ***** válasza:

Az egészesnél irasd ki str(y)-t és akkor 5-öt fog kiírni nem 5.0-t.


A másiknál meg nem kell az else ág else ágába még egy if.


Elég


if x>0:

#pozitiv

elif x<0:

#negativ

else:

#ha nem poz vagy neg, akkor 0

2019. ápr. 3. 14:55
Hasznos számodra ez a válasz?
 5/16 anonim ***** válasza:
Az if, else, while nem függvények, hanem vezérlési szerkezetek.
2019. ápr. 3. 16:20
Hasznos számodra ez a válasz?
 6/16 anonim ***** válasza:

Új függvények helyett használd a string osztály format metódusát vagy a százalékjel (%) operátort, ha az még belefér.

[link]

2019. ápr. 3. 16:55
Hasznos számodra ez a válasz?
 7/16 Ozmium42 ***** válasza:

Ha az x értékét az elején float-tá alakítod, akkor természetesen float-ként fog megjelenni, mivel te alakítottad azzá. Ha az egész értékű float-ot egészként akarod megjeleníteni, akkor ellenőrizned kell külön, hogy egész szám-e (mint ahogy meg is tetted), és ezután alkalmaznod kell rá az int függvényt.


Prímszám ellenőrzéshez mindenképp célszerű lesz for vagy while ciklust alkalmazni.

2019. ápr. 3. 18:21
Hasznos számodra ez a válasz?
 8/16 A kérdező kommentje:

"Az egészesnél irasd ki str(y)-t és akkor 5-öt fog kiírni nem 5.0-t."


Köszi, így tényleg egyszerűbb :) Viszont közben én is megoldottam a saját módszeremmel :)

[link]


Tehát tulajdonképpen kétféle módon is meg lehetett oldani.


A másikra is találtam megoldást :)

Kérlek nézzétek meg, hogy meg lehet-e oldani egyszerűbben, nekem így sikeredett.


[link]

2019. ápr. 4. 12:44
 9/16 anonim ***** válasza:

if-elif-else -nél többre szerintem továbbra sincs szükség.

print-et is elég egyszer kiírni, pl így.


x = float(input("x="))

if x==0:

msg = " neither positive or negative"

elif x>0:

msg = " is positive"

else:

msg = " is negative"


if x==int(x):

y=int(x)

else:

y=x


print(str(y)+msg)

2019. ápr. 4. 13:04
Hasznos számodra ez a válasz?
 10/16 A kérdező kommentje:

Írtam egy olyan programot is, ami egy adott szám abszolút értékét adja ki. Nézzétek meg hogy sikerült.


[link]

2019. ápr. 4. 13:12
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!