Kezdőoldal » Számítástechnika » Programozás » Ezt lehetne rövidebben? (Python)

Ezt lehetne rövidebben? (Python)

Figyelt kérdés

x1, y1 = int(input("Számlaloja az első értéknek:")), int(input("Nevezője az első értéknek:"))

x2, y2 = int(input("Számlaloja az első értéknek:")), int(input("Nevezője az első értéknek:"))


print (f"{x1}/{y1} + {x2}/{y2} = {y2*x1}/{y2*y1} + {x2*y1}/{y1*y2} = {(y2*x1)+(x2*y1)}/{y1*y2}")



2021. jan. 17. 20:59
 1/6 A kérdező kommentje:
számlálója*
2021. jan. 17. 21:00
 2/6 anonim ***** válasza:
64%

x1, y1 = int(input("Számlaloja az 1. értéknek:")), int(input("Nevezője az 1. értéknek:"))


x2, y2 = int(input("Számlaloja az 1. értéknek:")), int(input("Nevezője az 1. értéknek:"))


print (f"{x1}/{y1} + {x2}/{y2} = {y2*x1}/{y2*y1} + {x2*y1}/{y1*y2} = {(y2*x1)+(x2*y1)}/{y1*y2}")

2021. jan. 17. 21:15
Hasznos számodra ez a válasz?
 3/6 anonim ***** válasza:

Mit szeretnél rövidebben?


Sok a szorzás az f-stringben? Csinálj külön változókat, kettőt a két új számlálónak és egyet a közös nevezőnek.

Hosszú a string? Használj több print-et (az end paramétert állítsd át hogy ne újsorral végződjön) vagy több f-stringet külön sorokban (lehetőleg nem összefűzve hanem külön argumentumként, mert kicsit antipattern stringeket összefűzni a printben...).

Hosszú a bekérő szöveg? Csináld úgy, ahogy a 2-es írta 😁 (és javítsd ki a második sorban, hogy nem első, hanem második)

Még mindig hosszú? Szervezd ki a bekérést egy függvénybe, ami a két számmal tér vissza, a paraméter a sorszám legyen amit beraksz a stringbe (1, 2, vagy "első", "második"...)

2021. jan. 18. 00:53
Hasznos számodra ez a válasz?
 4/6 anonim ***** válasza:
100%

Ha nagyon-nagyon meg akarod eroszakolni a nyelvet, akkor ezt csinalhatod:


[(x1, y1),(x2, y2)] = [(int(input(f"Számlaloja a(z) {x} erteknek:")), int(input("Nevezője a(z) {x} értéknek:"))) for x in range(1,3)]

print (f"{x1}/{y1} + {x2}/{y2} = {y2*x1}/{y2*y1} + {x2*y1}/{y1*y2} = {(y2*x1)+(x2*y1)}/{y1*y2}")


De en is inkabb "hosszabbitanam", hogy konnyebben olvashato legyen.

2021. jan. 18. 17:20
Hasznos számodra ez a válasz?
 5/6 anonim ***** válasza:
50%

Igen. Pl. Az első érték számlálója, Az első érték nevezője.

Rövidebb is és magyarosabb is.

2021. jan. 18. 17:55
Hasznos számodra ez a válasz?
 6/6 anonim ***** válasza:

Bár egy iszonyatosan durva, és felesleges megoldás, szerintem legfeljebb a matematikai elemeket tudod összevonni változók alá.


a = {x1}

b = {y1}

c = {x2}

d = {y2}

ad = {a*d}

bd = {b*d}

bc = {b*c}


print(f"a/b + c/d = ad/bd + bc/bd = (ad+bc)/bd")


Matematikailag ennél többet nem nagyon tehetsz, hogy a fizikálisan rövidebbre vedd. Ráadásul programozási szempontból ez talán még átláthatatlanabb és rosszabb megoldás.

2021. jan. 18. 20:41
Hasznos számodra ez a válasz?

Kapcsolódó kérdések:




Minden jog fenntartva © 2025, 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!