Python kérdés? Az első kimeneti érték közvetlen az utolsó bemeneti érték mellett jelenik meg?
Írtam egy faktoriális kódót, alább meg lehet találni.
Ha a py.exe-t futtatom és oda másolom be a bemeneti értékeket egyszerre, akkor rendesen lefuttatja a kódot, viszont, ha a pycharmba, akkor az első kimeneti érték közvetlen az utolsó bementi érték mellett lesz és az utolsó kimeneti értékhez nyomni kell egy entert pluszba.
A lényeges dolog, ami segítségemre válna, hogy hogy tudnám megoldani azt, hogy miután egyszerre bemásoltam az értékeket, az első output pontosan új sorban jelenen meg az utolsó input alá?
def n_faktorial(n: int):
if n == 1:
return 1
elif n == 0:
return 1
else:
return n*n_faktorial(n-1)
def main():
while True:
n = int(input())
while n > 50 or n < 0:
print("Nem elfogadható érték. 0 és 50 között írj valamit.")
n = int(input())
if n <= 50 and n >= 0:
print("{0}! = {1}".format(n,n_faktorial(n)))
if __name__ == "__main__":
main()
Egyszerre bemásolt értékek:
44
16
41
33
0
28
41
46
11
Valahogy éreztem, hogy escape karakter lesz, köszönöm szépen.
Állományvégjelig terveztem a beolvasást, csak nem mentem tovább addig. Vagy milyen logikai hibára gondolsz pontosan?
Van pár logikai probléma a kódban de egyébként nem vészes. Nem néztem végig de az egyszerűség kedvéért mondjuk:
def n_faktorial(n: int):
if n == 1 or n == 0:
return 1
else:
return n*n_faktorial(n-1)
ugyanaz, de szebb, jobban átlátható.
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
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!