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
 11/16 A kérdező kommentje:
#9 Köszi. Valóban túlbonyolítottam.
2019. ápr. 4. 13:14
 12/16 A kérdező kommentje:

Illetve ez egy adott szám négyzetét és köbét adja ki:

[link]


Viszont ennél két probléma is van.

1. Nem tudok az inputba sorokat kihagyni az x = , x^2 , és az x^3 között. valahogy a \n-t kéne használni, csak kérdés hogy hogyan.

2. Illetve nem tudok műveletet írni az inputba. Tehát ha azt írom, hogy x = 3, akkor lefut a program. De ha azt írom, hogy 3+3, akkor már nem. Hogyan lehetne ezt a két problémát feloldani? (Természetesen magasabb fokú tudás nélkül, tehát kb. azon a szinten, ahol most vagyok.)

2019. ápr. 4. 14:51
 13/16 A kérdező kommentje:
Megjegyzem, mindegyik programot magam találtam ki és csináltam meg, semmilyen külső segítséget nem kaptam. Az egész abból eredt, hogy az egyik jegyzetben írtak egy programot, ami kiadja egy számról, hogy prímszám-e. Én meg gondoltam, csinálok magam olyan programokat, amik egyszerűbb dolgokat csinálnak. A tervem, hogy hétvégére egy összetettebb programot írjak, ami végez egy kis "számelemzést", persze nem túl bonyolult dolgokat.
2019. ápr. 4. 14:53
 14/16 A kérdező kommentje:

Ja, a négyzethez meg köbhöz itt van a kódolás, meg képen is elküldtem, hogy a behúzások látszódjanak.


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

y1a = x**2

y1b = int(x**2)

y2a = x**3

y2b = int(x**3)

if y1a == y1b:

print('x^2 = '+str(int(x))+'^2 = '+str(y1b))

else:

print('x^2 = '+str(x)+'^2 = '+str(y1a))

if y2a == y2b:

print('x^3 = '+str(int(x))+'^3 = '+str(y2b))

else:

print('x^3 = '+str(x)+'^3 = '+str(y2a))

2019. ápr. 4. 14:55
 15/16 Ozmium42 ***** válasza:

Az input() függvény egy stringgel tér vissza. Az int és a float függvény az int és float alakú stringeket képes átalakítani, olyat, hogy "3+3", nem fog tudni értelmezni. Nem fog műveleteket elvégezni.


Az első problémád pedig értelmetlenül van leírva, milyen inputról van szó? a print-ről? Mutatok egy trükköt, de már más is utalt rá. Ahelyett, hogy +-szal fűzögeted össze a string részleteket:


v1 = 3

v2 = 4

p = v1*v2


print("{0} * {1} = {2}".format(v1, v2, p))


vagy még egyszerűbben (vedd észre az f betűt az idézőjel előtt):


print(f"{v1} * {v2} = {p}")


Ha több sorosat akarsz, simán írd bele a stringbe (idézőjelek közé) a \n-t. Vagy használj háromszoros idézőjelet.

2019. ápr. 4. 18:18
Hasznos számodra ez a válasz?
 16/16 A kérdező kommentje:
Sikerült megoldanom, köszönöm!
2019. ápr. 4. 23:31
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!