Głupie pytanie trochę ale nigdzie nie znalazłem odpowiedzi. Jak jest np. kalkulator to chodzi mi o to żeby nie było tak:
python3 program.py wprowadź liczbę 1: 5 wprowadź liczbę 2: 4 wynik: 9
tylko tak:
python3 program.py 5 4 wynik: 9
To się nazywa parametry wywołania programu.
Wiki
@koleś34, Sprawdź też:
argparse — Parser for command-line options, arguments and sub-commands
Jak budować interfejsy linii poleceń w Pythonie z argparse
python cmd line
Możesz przykładowo tak sumować dowolną ilość argumentów
EDIT: Wersja poprawiona
1 import sys 2 sum = 0 3 for i in range(1,len(sys.argv)): 4 sum += int(sys.argv[i]) 5 print('Wynik: {}'.format(sum))
i wywołanie:
python dodawanie.py 1 2 3 Wynik: 6
Dołączam się do pytania @Oscar-a
python dodawanie.py 1 1 1 Wynik: 6
1 + 1 + 1 = 6 ?
P.S.1
sum += int(sys.argv[i])
P.S.2
import sys try: sum = 0 for arg in sys.argv[1:]: sum += int(arg) print(f"Wynik: {sum}") except: pass
Wydaje Mi się @manjaro, że Twój Edit nie do końca jest "czytelny"
"sys.argv[i]" zamiast "i".
i OP, jak i niektórych forumowiczów (tych szczególnie z "małym" doświadczeniem w programowaniu w python-ie) może doprowadzić do "konsternacji" typu: WTF?
może zrób Edit np. w ten sposób
sum += int(sys.argv[i]) # zamiast "int(i)"
90,900 zapytań
139,572 odpowiedzi
313,904 komentarzy
60,373 pasjonatów
Motyw:
Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡
Oto dwie polecane książki warte uwagi. Pełną listę znajdziesz tutaj.