0 Pluspunkte 0 Minuspunkte

Ich habe dieses Script das 2 Zahlen addiert die ich als Parameter an das Script übergeben habe.

import sys

a = sys.argv[1]
b = sys.argv[2]

c = a + b

print(c)

Wenn ich das Script so aufrufe

python myscript.py 2 3

sollte das Ergebnis 5 sein, es ist aber 23.

PS C:\users\dan\desktop> python text.py 2 3
23

Ich habe Python schon 3 mal deinstalliert und neu installiert.

von  

1 Antwort

0 Pluspunkte 0 Minuspunkte

In Python werden Argumente, die du über die Befehlszeile an ein Script übergibst als Strings behandelt. Wenn du die einfach zusammenfügst werden sie konkateniert (aneinandergereiht) statt als Zahlen addiert zu werden. Um die übergebenen Zahlen korrekt zu addieren, musst du sie zuerst in den Datentyp Integer (Ganzzahl) umwandeln.

import sys

a = int(sys.argv[1])  # Umwandlung des ersten Arguments in eine Ganzzahl
b = int(sys.argv[2])  # Umwandlung des zweiten Arguments in eine Ganzzahl

c = a + b

print(c)
von