• 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

Hosting forpsi easy 1 pln
0 głosów
269 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,130 p.)

To się nazywa parametry wywołania programu.

Wiki

komentarz 22 marca 2022 przez adrian17 Ekspert (336,700 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 (246,010 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 (246,010 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 (246,010 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ź 218 wizyt
pytanie zadane 5 marca 2021 w Python przez theemperor Użytkownik (710 p.)
+1 głos
0 odpowiedzi 311 wizyt
pytanie zadane 25 maja 2021 w C i C++ przez toko Mądrala (6,010 p.)
0 głosów
1 odpowiedź 175 wizyt

92,092 zapytań

140,752 odpowiedzi

317,719 komentarzy

61,409 pasjonatów

Advent of Code 2023

Top 15 użytkowników

  1. 160p. - nidomika
  2. 158p. - CC PL
  3. 156p. - Łukasz Eckert
  4. 77p. - Jarosław Roszyk
  5. 0p. - Kacper Bogucki
  6. 0p. - Klaudia
  7. 0p. - KreciX h
  8. 0p. - Adam Śpiewak
  9. 0p. - Michał Tartanus
  10. 0p. - Sambor1313
  11. 0p. - Mawrok
  12. 0p. - Adrian Rębisz
  13. 0p. - Anonim 1217706
  14. 0p. - Krzysztof Zawadka
  15. 0p. - Łukasz Bekus
Szczegóły i pełne wyniki

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

Akademia Sekuraka 2024 zapewnia dostęp do minimum 15 szkoleń online z bezpieczeństwa IT oraz dostęp także do materiałów z edycji Sekurak Academy z roku 2023!

Przy zakupie możecie skorzystać z kodu: pasja-akademia w koszyku, uzyskując rabat aż -50% (jeszcze tylko dziś 30.11 z okazji Black Week, a potem będzie to 30%) na bilety w wersji "Standard"! Więcej informacji na temat akademii znajdziecie tutaj. Dziękujemy Sekurakowi za tak fajną zniżkę dla 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 15% 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!

...