Profilo di jilles

Nome jilles
Indirizzo email n/a
Messaggi6
  • Resettare Input
    Forum >> Principianti
    Ciao a tutti!


    Domanda:


    Come faccio a resettare gli input?
    Nel caso specifico sotto "operatore1", "operatore2" e "calcolo" vengono definiti all' inizio del programma ma dopo che viene eseguito il calcolo in teoria dovrebbe essere possibile eseguirne un altro con "input" diversi, ho provato vari loop e modi ma proprio non so come fare...
    HELP!






    <def myscript():
    import sys
    while True:
    if operatore1 and calcolo and operatore2 != None:
    break



    operatore1 = input('inserire operatore 1: ')
    calcolo = raw_input("inserire l' operatore (+, *, /, -): ")
    operatore2 = input('inserire operatore 2: ')


    def addiz():

    print "risultato:"
    print operatore1 + operatore2
    dig = raw_input('uscire y/n? ')
    if dig == 'n':
    myscript()
    else:
    if dig == 'y':
    sys.exit()

    def multip():
    print "risultato:"
    print operatore1 * operatore2
    dig = raw_input('uscire y/n? ')
    if dig == 'n':
    myscript()
    else:
    if dig == 'y':
    sys.exit()


    def divis():
    print "risultato:"
    print operatore1 / operatore2
    dig = raw_input('uscire y/n? ')
    if dig == 'n':
    myscript()
    else:
    if dig == 'y':
    sys.exit()


    def sottraz():
    print "risultato:"
    print operatore1 - operatore2
    dig = raw_input('uscire y/n? ')
    if dig == 'n':
    myscript()
    else:
    if dig == 'y':
    sys.exit()


    if calcolo == '+':
    addiz()
    elif calcolo == '*':
    multip()
    elif calcolo == '/':
    divis()
    else:
    if calcolo == '-':
    sottraz()

    myscript()>




  • Modulo EBCDIC per python
    Forum >> Principianti
    Ciao a tutti
    Mi sono trovato a dover fare manutenzione ad una sezione di codice che "cripta" le password e poi le spedisce via mail.
    A tutti gli effetti converte ( o dovrebbe convertire ) un testo stringa da ascii in esadecimale ed infine da esadecimale ad EBCDIC ( cp500 o cp1144 ), il mio problema è che l' output di conversione risulta in kanji giapponesi o coreani o chi per esso.... :question:
    qualcuno ha avuto gli stessi problemi?
    sbaglio qualcosa?


    <>import ebcdic
    import time
    #----------------------------------------------------------------------------------------------------------------#
    #nazionalità ebcdic:
    #•cp1140 - Australia, Brazil, Canada, New Zealand, Portugal, South Africa, USA
    #•cp1141 - Austria, Germany, Switzerland
    #•cp1142 - Denmark, Norway
    #•cp1143 - Finland, Sweden
    #•cp1144 - Italy
    #•cp1145 - Latin America, Spain
    #•cp1146 - Great Britain, Ireland, North Ireland
    #•cp1147 - France
    #•cp1148 - international
    #•cp1149 - Iceland
    #legacy code:
    #•cp037 - Australia, Brazil, Canada, New Zealand, Portugal, South Africa; similar to cp1140 but without Euro sign
    #•cp273 - Austria, Germany, Switzerland; similar to cp1141 but without Euro sign
    #•cp277 - Denmark, Norway; similar to cp1142 but without Euro sign
    #•cp278 - Finland, Sweden; similar to cp1143 but without Euro sign
    #•cp280 - Italy; similar to cp1141 but without Euro sign
    #•cp284 - Latin America, Spain; similar to cp1145 but without Euro sign
    #•cp285 - Great Britain, Ireland, North Ireland; similar to cp1146 but without Euro sign
    #•cp297 - France; similar to cp1147 but without Euro sign
    #•cp500 - international; similar to cp1140 but without Euro sign
    #•cp871 - Iceland; similar to cp1149 but without Euro sign
    #•cp1047 - Open Systems (MVS C compiler)
    #----------------------------------------------------------------------------------------------------------------#

    digit = raw_input("Inserire il testo da codificare: ")
    stringa = str(digit)
    output = stringa.encode('hex') #conversione esadecimale#
    output2 = output.encode('cp500')

    #codifica testuale ebcdic
    print "----- INIZIO TEST MODULO -----"
    print " "
    print dir(ebcdic)
    print " "
    print "----- FINE TEST MODULO -----"
    print " "
    print "----- INIZIO CODIFICA-----"
    print " "
    print time.ctime()
    print " "
    print digit
    print " "
    if digit!= None:
    print output
    print output2


  • Re: print valori sbagliati
    Forum >> Principianti
    Ora la formattazione della stringa è corretta però mi da questo errore:
    TypeError: 'dict' object is not callable




    if digit != None:
    digit = list(digit)
    digit2 = str(digit).strip(' []' )
    print "test string: " + digit2
    print alfanum(digit2)


    con l' istruzione for invece:


    for digit2 in alfanum:
    print digit2


    Viene fuori una lista senza senso.... :confused:






  • Re: print valori sbagliati
    Forum >> Principianti
    Corretto l' EBCDIC, e corretto anche il "poi lo diventeranno"...
    Giusto per farsi 2 risate, la software house che ha prodotto l' sw che sto provando a sistemare ha inserito l' encryption ebcdic ( dal latino ) ad-canis-cazzum e quindi serve un wrap che assegni i valori giusti per poi riconvertirli, e come penso sia palese sto diventando scemo a provarci...
    La giustificazione dell' encryption "CUSTOM" è stata semplicemente:
    -Perché dovremmo usare delle encryption standard poco sicure?
    Fine premessa, ora provo a sistemare qua e la e ti faccio sapere, grazie ancora per la pazienza :D


  • Re: print valori sbagliati
    Forum >> Principianti
    Ciao!


    Grazie per la risposta e per lo sforzo di comprensione :D
    Ad ogni modo si, mi serviva capire che funzione usare per convertire la lista già formattata e spaziata a singole lettere o sillabe utilizzando l' apposito "dizionario" alfanum.
    Questo programma è una parte di codice per convertire caratteri e numeri e decriptarli per un altro programma scritto in RPG free per as400...
    quindi stavo provando a scriverlo in python ma mi è ancora ostica la sintassi anche se per molti versi simile.


  • print valori sbagliati
    Forum >> Principianti
    Ciao a tutti!
    Premesso che ho iniziato con python 2.7 da 1 settimana ho questo problema:


    digit = raw_input("testo: ")
    alfanum = {a:'000000', b:'000001', c:'000010', d:'000100',\
    e:'001000',\
    f:'010000', g:'100000', h:'000011', i:'000110',\
    j:'001100', k:'011000', l:'110000', m:'110100',\
    n:'110010', o:'110001', p:'111000', q:'110100',\
    r:'110010',\
    s:'110001',t:'111100',u:'111010', v:'111001',\
    w:'111110',\
    x:'111101',y:'111111', z:'000002', 1:n1, 2:n2,\
    3:n3, 4:n4, 5:n5, 6:n6, 7:n7, 8:n8, 9:n9, 0:n0}
    n1 = '111111f'
    n2 = '111110f'
    n3 = '111101f'
    n4 = '111011f'
    n5 = '110111f'
    n6 = '101111f'
    n7 = '111100f'
    n8 = '111001f'
    n9 = '110011f'
    n0 = '100111f'


    if digit != None:
    digit = list(digit)
    print digit <---- ( con valori dell' insieme "alfanum")


    Inoltre quando provo a "stampare" ( print ) un numero qualsiasi in modalità interprete mi riposta sempre lo stesso valore scritto e non il valore che vorrei...
    HELP ME! ;(






    --- Ultima modifica di jilles in data 2015-07-30 16:50:23 ---