Visualizzazione dei risultati da 1 a 7 su 7
  1. #1
    Utente di HTML.it
    Registrato dal
    Sep 2006
    Messaggi
    703

    [python] prendere tre argomenti

    lista = int(raw_input("","",""))


    devo far prendere al oggetto "lista" tre argomenti in un solo colpo, cioè 3numeri..però mi da errore dicendo che prende solo un argomento..esiste una soluzione?

  2. #2
    Utente di HTML.it
    Registrato dal
    Sep 2006
    Messaggi
    703
    nine?! sec me è una cavolata la risposta..

  3. #3
    Utente di HTML.it
    Registrato dal
    Sep 2006
    Messaggi
    703
    come mai nessuno mi indirizza almeno...

  4. #4
    Se proprio vuoi usare solo una istruzione mi viene in mente qualcosa di simile...

    codice:
    >>> import re
    >>> a,b,c = map(lambda x: eval(x), re.split("[\t ]+", raw_input()))
    122       24                       3
    >>> a,b,c
    (122, 24, 3)
    ..non vedo perchè non fare 3 input() però.
    GreyFox (Linux registered user #435102)
    greyfox.imente.org - GreyFox's shots (photo gallery)
    $ cd /pub
    $ more beer

  5. #5
    lista = int(raw_input("","",""))

    devo far prendere al oggetto "lista" tre argomenti in un solo colpo, cioè 3numeri..però mi da errore dicendo che prende solo un argomento..esiste una soluzione?
    Si, passargli un solo argomento (te lo dice pure).
    Quello che ti ritorna raw_input() è una stringa.
    Se sai che l'input è qualcosa del tipo "1 2 3" basta che usi split():

    >>> "1 2 3".split()
    ['1', '2', '3']
    Rilasciata Python FTP Server library 0.5.1
    http://code.google.com/p/pyftpdlib/

    We'll be those who'll make the italian folks know how difficult can be defecating in Southern California without having the crap flying all around the house.

  6. #6
    Utente di HTML.it
    Registrato dal
    Sep 2006
    Messaggi
    703
    ah ecco..mi serviva ben una cosa del genere..ma quindi la funzione slipt() prende come oggetti tutti i numeri e/o parole tra cui c'è uno spazio..se ad esempio da tastiera digito:

    cane ha 5 anni

    viene cosi??:

    lista = split(raw_input("Dammi i tre numeri"))


    e gli oggetti saranno:

    cane, ha, 5,anni ??????

  7. #7
    Il metodo split() è un metodo di stringa. Per sapere quello che fa usa help:

    codice:
    >>> help(''.split)
    Help on built-in function split:
    
    split(...)
        S.split([sep [,maxsplit]]) -> list of strings
    
        Return a list of the words in the string S, using sep as the
        delimiter string.  If maxsplit is given, at most maxsplit
        splits are done. If sep is not specified or is None, any
        whitespace string is a separator.
    
    >>>
    Se non capisci capisci quello che ti dice help usa l'interprete per sperimentare:

    codice:
    >>> "123456".split("123")
    ['', '456']
    >>> "123|456".split("|")
    ['123', '456']
    >>> "123hey456".split("hey")
    ['123', '456']
    se ad esempio da tastiera digito:

    cane ha 5 anni

    viene cosi??:

    lista = split(raw_input("Dammi i tre numeri"))


    e gli oggetti saranno:

    cane, ha, 5,anni ??????
    No. Ma non fai prima a provare tu stesso?
    Inoltre questi sono concetti davvero basilari.
    Se ti leggi un tutorial per noob dall'inizio alla fine prima di mettere mano al codice questi problemi li risolvi tu stesso.
    Rilasciata Python FTP Server library 0.5.1
    http://code.google.com/p/pyftpdlib/

    We'll be those who'll make the italian folks know how difficult can be defecating in Southern California without having the crap flying all around the house.

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.