• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

wprowadzanie zmienych na raz python terminal

Object Storage Arubacloud
0 głosów
357 wizyt
pytanie zadane 22 marca 2022 w Python przez koleś34 Gaduła (3,270 p.)

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

 

1
komentarz 22 marca 2022 przez Oscar Nałogowiec (29,290 p.)

To się nazywa parametry wywołania programu.

Wiki

komentarz 22 marca 2022 przez adrian17 Ekspert (344,860 p.)
Tylko zaznaczę, że ten artykuł jest mega mega stary - używa Pythona 2, getopt etc. W zasadzie jedyne co można z niego wyciągnąć to samo istnienie `sys.argv` :)
komentarz 22 marca 2022 przez VBService Ekspert (252,780 p.)
edycja 23 marca 2022 przez VBService

@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

1 odpowiedź

+1 głos
odpowiedź 23 marca 2022 przez manjaro Nałogowiec (37,390 p.)
edycja 26 marca 2022 przez manjaro
 
Najlepsza

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

 

 

komentarz 23 marca 2022 przez VBService Ekspert (252,780 p.)
edycja 23 marca 2022 przez VBService

Dołączam się do pytania @Oscar-a

python dodawanie.py 1 1 1 
Wynik: 6

1 + 1 + 1 = 6 ?

 

P.S.1  wink

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

 

komentarz 23 marca 2022 przez manjaro Nałogowiec (37,390 p.)
edycja 23 marca 2022 przez manjaro
No tak oczywiście, pisałem to na szybko w telefonie. Wystarczy podmiana "sys.argv[i]" zamiast "i".

Z tego powodu minusy dostaję? Człowiek chce pomóc i tak jest nagradzany no to tylko w Polsce takie rzeczy...
komentarz 24 marca 2022 przez VBService Ekspert (252,780 p.)

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?  laugh

może zrób Edit np. w ten sposób

sum += int(sys.argv[i]) # zamiast "int(i)"

 

komentarz 24 marca 2022 przez manjaro Nałogowiec (37,390 p.)
A mi się wydaje że się czepiasz.

Do góry podałem poprawioną wersję żeby ktoś nie czytając komentarzy miał prawidłową wersję.

Podobne pytania

0 głosów
1 odpowiedź 236 wizyt
pytanie zadane 5 marca 2021 w Python przez theemperor Użytkownik (710 p.)
+1 głos
0 odpowiedzi 587 wizyt
pytanie zadane 25 maja 2021 w C i C++ przez toko Dyskutant (7,670 p.)
0 głosów
1 odpowiedź 184 wizyt

92,555 zapytań

141,403 odpowiedzi

319,554 komentarzy

61,939 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...