Profilo di Gien

Nome Gien
Indirizzo email [email protected]
AvatarAvatar utenti
Messaggi18
  • Re: Aiuto con un semplice programma
    Forum >> Principianti
    Effettivamente ci avevo pensato anche io ad int(), tuttavia vorrei che il programma legga anche numeri decimali quali 2,1/2.1 etc.
  • Aiuto con un semplice programma
    Forum >> Principianti
    Salve,

    vorrei chiedere una mano a migliorare il seguente script per eseguire ogni operazione dati due numeri, interi o decimali. Inoltre, come posso far sì che nell'esecuzione, mettendo per esempio come valore 2, stampi 2 e non 2.0, mantenendo la possibilità di inserire decimali?

    Grazie mille!

    from sys import *
    from time import *
    def pyoperazioni():
    while True:
    try:
    a = float(input("Inserire il primo numero: ").replace(",", "."))
    b = float(input("Inserire il secondo numero: ").replace(",", ":"))
    break
    
    except ValueError:
    print("Inserire solo numeri interi o decimali.")
    sleep(1)
    if b > 0:
    print(a, "+", b, "=", a + b)
    print(a, "-", b, "=", a - b)
    print(a, "*", b, "=", a * b)
    print(a, "/", b, "=", a / b)
    print(a, "%", b, "=", a % b)
    else:
    print("Il secondo valore deve essere maggiore di 0.")
    sleep(2)
    exit()
    pyoperazioni()
    

    EDIT: ho provato diverse volte a mettere nell'apposita sezione code lo script, tuttavia non riesco a metterlo per bene



    --- Ultima modifica di Gien in data 2018-05-01 17:38:34 ---
  • Re: Accorpare una lista
    Forum >> Principianti
    Allora, sono riuscito finalmente! Per quanto riguarda i tuoi consigli, apparentemente ho creato un po' di confusione nella copia-incolla del codice :embarrassed:




    Quindi, alla fine ho abbozzato una cosa del genere:






        nc=["q", "w", "e", "r", "t", "y", "u", "i", "o", "p", "a", "s", "d", "f", "g", "h", "j", "k", "l", "z", "x", "c", "v", "b", "n", "m", "è", "é", "ò", "à", "ù", "ì"]
        numbers=["1", "2", "3", "4", "5", "6", "7", "8", "9", "0"]
        nc=sample(nc, 6)
        numbers=sample(numbers, 2)
        pswd=nc+numbers
        print("".join(pswd))






    --- Ultima modifica di Gien in data 2017-12-18 18:43:11 ---
  • Re: Accorpare una lista
    Forum >> Principianti
    Ciao caro, grazie intanto della risposta ;)

    Avevo effettivamente pensato anche io alla classica somma di liste per renderle un'unica, tuttavia avendo fatto il tuo stesso procedimento l'output non varia. Il codice lo trovi sempre sopra, il lieve cambiamento è quello che mi hai consigliato;
    password+=str(sample(nc, 6))
    password_n+=str(sample(numbers, 2))
    pswd=password+password_n
    pswd=''.join(password_end)
    print(pswd)
    





    --- Ultima modifica di Gien in data 2017-12-17 20:12:55 ---
  • Accorpare una lista
    Forum >> Principianti
    Buongiorno cari :)




    Alla realizzazione di un esercizio di generazione casuale di una password, ho incontrato il seguente "errore" (se così lo si può chiamare). Anzi, più che errore è un output obsoleto dal punto di visto visivo.
    Input=""
    while(Input!="exit"):
        Input=input("Press enter to generate a password, else type 'exit'. ")
        nc=["q", "w", "e", "r", "t", "y", "u", "i", "o", "p", "a", "s", "d", "f", "g", "h", "j", "k", "l", "z", "x", "c", "v", "b", "n", "m", "è", "é", "ò", "à", "ù", "ì"]
        numbers=["1", "2", "3", "4", "5", "6", "7", "8", "9", "0"]
        password=""
        password_n=""
        password+=str(sample(nc, 6))
        password_n+=str(sample(numbers, 2))
        password=password+password_n
        print(password)





    output (random, ma la struttura è questa): ['r', 'è', 'h', 'j', 'y', 'e']['3', '0']Si può capire che è abbastanza bruttino da vedere. Ho provato ad usare comandi tali join, map e altro ma non riesco a renderlo una semplice stringa, tipo "rèhjye30".Vi ringrazio infinitamente sin da adesso!


    --- Ultima modifica di Gien in data 2017-12-16 17:55:04 ---
  • Re: Ignota fonte NameError
    Forum >> Principianti
    Buongiorno!

    Nella mia classica via di apprendimento tramite PythonExercise, ho incontrato questo esercizio di list comprehension.

    Nello scrivere lo script, tuttavia, all'eseguire il seguente programma uscirà SEMPRE l'errore 'NameError'. Il problema è che non capisco quale sia la fonte di questo malfunzionamento... Grazie in anticipo!

    Exercise10 = True
    if(Exercise10==True):
        print("Welcome! This is exercise #10.")
        random_list_a_ex10=[randint(1, 9), randint(1, 9), randint(1, 9)]
        random_list_b_ex10=[randint(1, 9), randint(1, 9), randint(1, 9), randint(1, 9), randint(1, 9)]
        common_numbers=[num for a in random_list_a_ex10 for b in random_list_b_ex10 if a==b]
        print("Common numbers: ", common_numbers)
    l'errore completo è
    Traceback (most recent call last):
      File "<stdin>", line 3, in <module>
    NameError: name 'randint' is not defined
    
    quindi l'errore è sul nome randint. non è che ti sei dimenticato un
    from random import randint
    prima? inoltre, cosa dovrebbe essere num in
    common_numbers=[num for a in random_list_a_ex10 for b in random_list_b_ex10 if a==b]
    ?



    Allora,

    il randint l'ho effettivamente importato all'inizio dell'interno programma, per quanto riguarda invece il significato di num sarebbe ogni elemento in comune tra la prima e la seconda lista (per ogni numero in a e per ogni numero in b, se numa e numb sono uguali appendi a common_numbers)

    Grazie per la risposta intanto (:

  • Ignota fonte NameError
    Forum >> Principianti
    Buongiorno!

    Nella mia classica via di apprendimento tramite PythonExercise, ho incontrato questo esercizio di list comprehension.

    Nello scrivere lo script, tuttavia, all'eseguire il seguente programma uscirà SEMPRE l'errore 'NameError'. Il problema è che non capisco quale sia la fonte di questo malfunzionamento... Grazie in anticipo!

    Exercise10 = True
    if(Exercise10==True):
        print("Welcome! This is exercise #10.")
        random_list_a_ex10=[randint(1, 9), randint(1, 9), randint(1, 9)]
        random_list_b_ex10=[randint(1, 9), randint(1, 9), randint(1, 9), randint(1, 9), randint(1, 9)]
        common_numbers=[num for a in random_list_a_ex10 for b in random_list_b_ex10 if a==b]
        print("Common numbers: ", common_numbers)



    --- Ultima modifica di ㎝ in data 2017-12-07 20:04:30 ---
  • RPS.
    Forum >> Principianti
    Buongiorno!




    Sono lievemente in crisi con un piccolo codice del quale non riesco a capire dove sia l'errore:




    richiesta_retry="Yes"
    while (richiesta_retry=="Yes"):
        sleep(1)
        print("Rock, Paper, Scissors!")
        player1=str(input("Player one, what do you choose? ").replace("Rock", "rock"))
        randint_ex8 = randint(1, 3)
        print(randint_ex8 )
    
        if(player1=="Rock" and randint_ex8==1):
            print("Tie!")

    Dal momento che il numero generato casualmente dal randint sia 1, dovrebbe essere stampata la stringa "Tie!" in caso l'input dell'utente sia 'Rock' o 'rock'.Tuttavia, seppur entrambi combacino, il programma non farà altro che continuare ad andare in loop (come da script) senza però una risposta.
    Grazie in anticipo! :)



    --- Ultima modifica di ㎝ in data 2017-11-28 21:15:32 ---
  • Re: Prevenire SyntaxError
    Forum >> Principianti
    Ah perfetto, grazie della precisazione :) !
  • Prevenire SyntaxError
    Forum >> Principianti
    Salve! Da poco ho scoperto un sito, python exercise, da cui praticare un poco per migliorare le mie conoscenze.

    Tuttavia, volendo creare una sorta di "Selezione Esercizio", ho incontrato l'errore SyntaxError. Avevo incontrato un NameError in precedenza, ma l'ho prevenuto con except NameError:...

    Invece con SyntaxError, seppur faccia la stessa cosa, l'errore standard di python comparirà comunque. In sintesi, avete un qualche modo per risolvere? Grazie per la pazienza conferitami!




    edit: Un piccolo dubbio: pur avendo messo lo script nella sezione "code", non visualizza i vari passaggi in cui sono andato a capo ecc., come mai?

    from sys import *
    from time import *
    #Exercise 1, Character Input
    #http://www.practicepython.org/exercise/2014/01/29/01-character-input.html


    try:
    # To run, change 'ExerciseX' value to True!
    Exercise1 = False
    if (Exercise1 == True):
    print("Hello! This is exercise #1.")
    name = input("What is your name? ")
    try:
    age = int(input(name + "? And how old are you? "))
    print("\nThen, in 100 years you will be", str(age + 100) + " years old!")
    except ValueError:
    print("Character not recognized! :(")
    sleep(2)
    exit()

    # To run, change 'ExerciseX' value to True!
    Exercise2 = False
    if (Exercise2 == True):
    print("Hello! This is exercise #2.")
    try:
    number = float(input("Tell me a number, mate! ").replace(",", "."))
    if (number % 2 == 0):
    print("That's an even number!")
    elif (number % 2 > 0):
    print("That's an odd number!")
    except ValueError:
    print("Character not recognized! :(")
    sleep(2)
    exit()

    #To run, change 'ExerciseX' value to True!


    else:
    print("No Exercise available! Remember to switch their value to True.")

    except NameError:
    print("Character not Recognized! You must write either True or False!")

    except SyntaxError:
    print("No value found in an exercise. Check if everyone has either True or False in it!")