Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Plaud NotePin S, il registratore IA si fa indossabile (ma è facile da perdere)
Plaud NotePin S, il registratore IA si fa indossabile (ma è facile da perdere)
Quattro modi di indossarlo, stessa app del Plaud Note Pro e integrazione con il desktop. Il registratore IA da indossare di Plaud eccelle in mobilità, ma resta vincolato all'abbonamento ed è facile da perdere
Redmi Watch 6 in prova: lo smartwatch con ampio display da 2000 nit a meno di 100 euro
Redmi Watch 6 in prova: lo smartwatch con ampio display da 2000 nit a meno di 100 euro
Xiaomi ha portato Redmi Watch 6 anche sul mercato italiano, puntando su un display AMOLED da 2,07 pollici con picco di luminosità a 2000 nit, frame in alluminio da 9,9mm e un'autonomia dichiarata di 12 giorni. Lo smartwatch gira su HyperOS 3 e integra GPS, Bluetooth 5.4 e oltre 150 sport mode. Il tutto a meno di 100 euro
Mad Catz M.M.O. 7+: lo stesso DNA del R.A.T. 8+ ADV, ma con molti più pulsanti
Mad Catz M.M.O. 7+: lo stesso DNA del R.A.T. 8+ ADV, ma con molti più pulsanti
Con 22 tasti, il pulsante 5D, lo Shift Mode e il sensore PixArt 3395 da 26.000 DPI, il nuovo mouse wireless di Mad Catz si rivolge in modo preciso ai giocatori di MMO e RPG. Ma chi conosce già il R.A.T. 8+ ADV si accorgerà subito di quanto i due prodotti condividano, e di dove invece divergono
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 23-06-2006, 17:25   #1
andbin
Senior Member
 
L'Avatar di andbin
 
Iscritto dal: Nov 2005
Messaggi: 5206
[Python] Primo programmino

Ho realizzato il mio primo programmino in Python. Serve per convertire un numero dalla numerazione decimale alla numerazione romana.
Codice:
#! /usr/bin/env python

class BadNumberException(Exception):
    def __init__ (self, value):
        self.value = value
    def __str__ (self):
        return repr (self.value)

def format_roman_digit (digit, roman1, roman5, roman10):
    if digit >= 1 and digit <= 3:
        return roman1 * digit
    elif digit == 4:
        return roman1 + roman5
    elif digit >= 5 and digit <= 8:
        return roman5 + roman1 * (digit-5)
    elif digit == 9:
        return roman1 + roman10
    else:
        return ""

def roman_number (num):
    if num < 1 or num > 3999:
        raise BadNumberException ("bad number " + str(num))

    roman = format_roman_digit (num/1000, "M", "", "")
    num %= 1000
    roman += format_roman_digit (num/100, "C", "D", "M")
    num %= 100
    roman += format_roman_digit (num/10, "X", "L", "C")
    num %= 10
    roman += format_roman_digit (num, "I", "V", "X")

    return roman


if __name__ == '__main__':
    import sys

    if len (sys.argv) == 2:
        strnum = sys.argv[1]
        try:
            r = roman_number (int (strnum))
            print "roman =", r
        except ValueError:
            print "invalid input: " + strnum
        except BadNumberException, err:
            print err
Il programma funziona bene. Vi sembra ben scritto?? C'è qualcosa che si può migliorare?
Grazie.
__________________
Andrea, Senior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
Java Versions Cheat Sheet
andbin è offline   Rispondi citando il messaggio o parte di esso
Old 27-06-2006, 10:17   #2
andbin
Senior Member
 
L'Avatar di andbin
 
Iscritto dal: Nov 2005
Messaggi: 5206
Quote:
Originariamente inviato da andbin
C'è qualcosa che si può migliorare?
Mi rispondo da solo .... stavo leggendo adesso il libro Dive Into Python e c'è proprio, tra gli esempi, la conversione in numeri romani .... ed usa un algoritmo molto semplice "a sottrazione" .... il mio quindi è 'na schifezza
__________________
Andrea, Senior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
Java Versions Cheat Sheet
andbin è offline   Rispondi citando il messaggio o parte di esso
Old 27-06-2006, 10:34   #3
Stiwy.NET
Senior Member
 
Iscritto dal: Dec 2005
Messaggi: 611
Quote:
Originariamente inviato da andbin
Mi rispondo da solo .... stavo leggendo adesso il libro Dive Into Python e c'è proprio, tra gli esempi, la conversione in numeri romani .... ed usa un algoritmo molto semplice "a sottrazione" .... il mio quindi è 'na schifezza
Non abbatterti...spesso si fanno/scrivono cose inutili e ripetitive, ma almeno servono a capire come funzionano... eppoi farsi le cose aiuta ad imparare e tenere in esercizio la mente... io mi sono fatto un ftp-treeview in vb.net... è inutile... però è stato carino farlo... ora soddisfa quasi tutte le mie necessità...
Stiwy.NET è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


Plaud NotePin S, il registratore IA si fa indossabile (ma è facile da perdere) Plaud NotePin S, il registratore IA si fa indoss...
Redmi Watch 6 in prova: lo smartwatch con ampio display da 2000 nit a meno di 100 euro Redmi Watch 6 in prova: lo smartwatch con ampio ...
Mad Catz M.M.O. 7+: lo stesso DNA del R.A.T. 8+ ADV, ma con molti più pulsanti Mad Catz M.M.O. 7+: lo stesso DNA del R.A.T. 8+ ...
Radeon RX 9070 GRE, AMD la porta in tutto il mondo | Recensione Gigabyte Gaming OC Radeon RX 9070 GRE, AMD la porta in tutto il mon...
Reolink OMVI 3i WiFi: videosorveglianza più intelligente e facile da usare Reolink OMVI 3i WiFi: videosorveglianza pi&ugrav...
Adidas Trionda: come funziona la tecnolo...
Withings BodyFit, la bilancia che va ben...
QNAP annuncia QuTS hero h6.0: il sistema...
ColorOS 17 con Android 17: la lista dei ...
DDR4, il ritorno che nessuno si aspettav...
Corsair vuole un singolo cavo per colleg...
Linux 7.2 si avvierà sui Mac M3, ...
Xiaomi 17T e 17T Pro a prezzi mai visti:...
Microsoft annuncia Majorana 2 e prevede ...
Windows 11: addio ai menu contestuali ca...
Maxi raid internazionale contro la pirat...
Top 10 offerte Amazon, 3 tutte nuove: al...
Windows Update, driver installati a sorp...
Finalmente in offerta DEEBOT T50 PRO OMN...
HONOR lancia Pad X8b: batteria infinita ...
Chromium
GPU-Z
OCCT
LibreOffice Portable
Opera One Portable
Opera One 106
CCleaner Portable
CCleaner Standard
Cpu-Z
Driver NVIDIA GeForce 546.65 WHQL
SmartFTP
Trillian
Google Chrome Portable
Google Chrome 120
VirtualBox
Tutti gli articoli Tutte le news Tutti i download

Strumenti

Regole
Non Puoi aprire nuove discussioni
Non Puoi rispondere ai messaggi
Non Puoi allegare file
Non Puoi modificare i tuoi messaggi

Il codice vB è On
Le Faccine sono On
Il codice [IMG] è On
Il codice HTML è Off
Vai al Forum


Tutti gli orari sono GMT +1. Ora sono le: 15:15.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Served by www3v