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

Dodawanie do listy - Python

Object Storage Arubacloud
+1 głos
244 wizyt
pytanie zadane 3 listopada 2021 w Python przez jakubjordanek Obywatel (1,320 p.)
Cześć, zrobiłem w swojej aplikacji pythonowej, że użytkownik w konsoli może wpisywać jakieś komendy i potem if sprawdza czy taka komenda istnieje i wykonuje coś. I czy jest możliwe, żeby zrobić komendę np. "list add <name>" i skrypt pobierze tylko to <name> i wstawi do listy taką nazwe jaką poda użytkownik?

1 odpowiedź

+2 głosów
odpowiedź 3 listopada 2021 przez adrian17 Ekspert (344,860 p.)
wybrane 3 listopada 2021 przez jakubjordanek
 
Najlepsza

Jasne, na wiele sposobów.

Możesz po prostu wyciągnąć wycinek stringa zaczynający się od danego znaku:

text = "list add costam"

text[9:] # "costam"
# lub:
text[len("list add "):] # "costam"

Albo pociąć po spacjach i wyciągnąć trzecią część:

text = "list add costam innecostam"

text.split()[2] # "costam"
text.split()[3] # "innecostam"
# lub:
text.split(maxsplit=2)[2] # "costam innecostam"

Albo zdefiniować regex łapiący całe wyrażenie:

text = "list add costam innecostam"

import re
re.findall("list add (.+)", text)[0] # "costam innecostam"

 

komentarz 3 listopada 2021 przez jakubjordanek Obywatel (1,320 p.)

okej, tylko mój skrypt wygląda mniej więcej tak

if (command == "list add ")
{
     name = text[len("list add "):]
     list.append(name)
}

i chodzi o linijke if command == "list add ", bo jakby skrypt nie wie co będzie po tym list add i chodzi, żeby tam mógł być dowolny wyraz

komentarz 3 listopada 2021 przez adrian17 Ekspert (344,860 p.)

Uh... po pierwsze

if (command == "list add ")
{

To w ogóle nie wygląda jak Python? Ani klamr ani nawiasów tu nie powinno być.

i chodzi o linijke if command == "list add ",

W sensie, nie wiesz jak sprawdzić czy tekst zaczyna się od "list add"? Dokładnie do tego jest funkcja nazywająca się dosłownie "czy zaczyna się od":

if command.startswith("list add "):

 

komentarz 3 listopada 2021 przez jakubjordanek Obywatel (1,320 p.)
Dzięki wielkie wszystko działa :)

Ogólnie to dorzucam nawiasy, bo z c# mi tak jakoś łatwiej się rozczytać i program błędu nie wyrzuca. Klamr tam nie ma mój błąd, że je podałem.
komentarz 4 listopada 2021 przez reaktywny Nałogowiec (40,970 p.)
Klamry w pythonie - to od której wersji ? ;)

Podobne pytania

0 głosów
1 odpowiedź 307 wizyt
pytanie zadane 13 września 2022 w Python przez Ziom Początkujący (430 p.)
0 głosów
1 odpowiedź 2,926 wizyt
pytanie zadane 16 kwietnia 2023 w C# przez Whyyy Nowicjusz (240 p.)
0 głosów
2 odpowiedzi 224 wizyt
pytanie zadane 6 listopada 2022 w Python przez Ichbinda Nowicjusz (230 p.)

92,544 zapytań

141,387 odpowiedzi

319,503 komentarzy

61,930 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!

...