Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Lenovo Legion Go 2: Ryzen Z2 Extreme e OLED 8,8'' per spingere gli handheld gaming PC al massimo
Lenovo Legion Go 2: Ryzen Z2 Extreme e OLED 8,8'' per spingere gli handheld gaming PC al massimo
Lenovo Legion Go 2 è la nuova handheld PC gaming con processore AMD Ryzen Z2 Extreme (8 core Zen 5/5c, GPU RDNA 3.5 16 CU) e schermo OLED 8,8" 1920x1200 144Hz. È dotata anche di controller rimovibili TrueStrike con joystick Hall effect e una batteria da 74Wh. Rispetto al dispositivo che l'ha preceduta, migliora ergonomia e prestazioni a basse risoluzioni, ma pesa 920g e costa 1.299€ nella configurazione con 32GB RAM/1TB SSD e Z2 Extreme
AWS re:Invent 2025: inizia l'era dell'AI-as-a-Service con al centro gli agenti
AWS re:Invent 2025: inizia l'era dell'AI-as-a-Service con al centro gli agenti
A re:Invent 2025, AWS mostra un’evoluzione profonda della propria strategia: l’IA diventa una piattaforma di servizi sempre più pronta all’uso, con agenti e modelli preconfigurati che accelerano lo sviluppo, mentre il cloud resta la base imprescindibile per governare dati, complessità e lock-in in uno scenario sempre più orientato all’hybrid cloud
Cos'è la bolla dell'IA e perché se ne parla
Cos'è la bolla dell'IA e perché se ne parla
Si parla molto ultimamente di "bolla dell'intelligenza artificiale", ma non è sempre chiaro perché: l'IA è una tecnologia molto promettente e che ha già cambiato molte cose dentro e fuori le aziende, ma ci sono enormi aspettative che stanno gonfiando a dismisura i valori delle azioni e distorcendo il mercato. Il che, com'è facile intuire, può portare a una ripetizione della "bolla dotcom", e forse anche di quella dei mutui subprime. Vediamo perché
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 16-01-2008, 17:54   #1
Occasus
Member
 
L'Avatar di Occasus
 
Iscritto dal: May 2005
Città: Another World
Messaggi: 237
[Python] Aiuto esercizio di "How to Think Like a Python Programmer"

Ciao a tutti.
Dopo diversi fallimenti, sto tentando di imparare qualcosa su un linguaggio di programmazione, in questo caso il Python.
http://www.greenteapress.com/thinkpy...005.html#toc50 , esercizio 3.

Avendo già a disposizione queste funzioni:
Codice:
import math
from TurtleWorld import *
TurtleWorld()
bob = Turtle()
bob.delay = 0.01

def polyline(t, length, n, angle):
    """Draw n line segments with the given length and
    angle (in degrees) between them. t is a turtle.
    """
    for i in range(n):
        fd(t, length)
        lt(t, angle)

def arc(t, r, angle):
    """Draw an arc with the given r (radius) and angle
    """(in degrees). t is a turtle.
    arclength = 2 * math.pi * r * angle / 360
    n = int(arclength / 4)
    length = arclength / n
    polyline(t, length, n, float(angle)/n)
come posso fare a realizzare la funzione per disegnare i fiori?

L'unica cosa funzionante che sono riuscito a fare è la definizione della funzione:
Codice:
def flower(t, r, petals):


Grazie per l'aiuto.
Occasus è offline   Rispondi citando il messaggio o parte di esso
Old 18-01-2008, 14:18   #2
Occasus
Member
 
L'Avatar di Occasus
 
Iscritto dal: May 2005
Città: Another World
Messaggi: 237
up
Occasus è offline   Rispondi citando il messaggio o parte di esso
Old 18-01-2008, 22:31   #3
^TiGeRShArK^
Senior Member
 
L'Avatar di ^TiGeRShArK^
 
Iscritto dal: Jul 2002
Città: Reggio Calabria -> London
Messaggi: 12112
ma scusa..
per il poco che ricordo di python....
le virgolette triple nella funzione arc non dovrebbero essere alla fine della stringa?
cmq spè che mi scarico 'sto turtleworld che non ho mai sentito e vedo
__________________
^TiGeRShArK^ è offline   Rispondi citando il messaggio o parte di esso
Old 18-01-2008, 22:35   #4
Occasus
Member
 
L'Avatar di Occasus
 
Iscritto dal: May 2005
Città: Another World
Messaggi: 237
Quote:
Originariamente inviato da ^TiGeRShArK^ Guarda i messaggi
ma scusa..
per il poco che ricordo di python....
le virgolette triple nella funzione arc non dovrebbero essere alla fine della stringa?
cmq spè che mi scarico 'sto turtleworld che non ho mai sentito e vedo
Sí, il commento l'ho aggiunto mentre scrivevo il messaggio.
È chiaramente sbagliato, ma non era presente nelle versioni che ho passato all'interprete.
Occasus è offline   Rispondi citando il messaggio o parte di esso
Old 18-01-2008, 22:49   #5
^TiGeRShArK^
Senior Member
 
L'Avatar di ^TiGeRShArK^
 
Iscritto dal: Jul 2002
Città: Reggio Calabria -> London
Messaggi: 12112
Codice:
import math
from TurtleWorld import *


def polyline(t, length, n, angle):
    """Draw n line segments with the given length and
    angle (in degrees) between them. t is a turtle.
    """
    for i in range(n):
        fd(t, length)
        lt(t, angle)

def arc(t, r, angle):
    """Draw an arc with the given r (radius) and angle
    (in degrees). t is a turtle."""
    arclength = 2 * math.pi * r * angle / 360
    n = int(arclength / 4)
    length = arclength / n
    polyline(t, length, n, float(angle)/n)


def flower(turtle, radius, petals):
    for i in range(petals):
        arc(turtle, radius, 180)
        #fai girare la tartaruga di 90°


TurtleWorld()
bob = Turtle()
bob.delay = 0.01
flower(bob, 50, 4)
dovrebbe essere qualcosa del genere ovviamente inserendo il comando che fa girare la tartaruga di 90° a sinistra e *in teoria dovrebbe andare*
__________________
^TiGeRShArK^ è offline   Rispondi citando il messaggio o parte di esso
Old 18-01-2008, 23:04   #6
Occasus
Member
 
L'Avatar di Occasus
 
Iscritto dal: May 2005
Città: Another World
Messaggi: 237
Quote:
Originariamente inviato da ^TiGeRShArK^ Guarda i messaggi
dovrebbe essere qualcosa del genere ovviamente inserendo il comando che fa girare la tartaruga di 90° a sinistra e *in teoria dovrebbe andare*
Questo è il problema. Ho provato tante soluzioni (la prima funzione era simile, se non uguale a quella tua) che in teoria dovrebbero andare, ma in pratica non disegnano i fiori.
Occasus è offline   Rispondi citando il messaggio o parte di esso
Old 19-01-2008, 00:03   #7
^TiGeRShArK^
Senior Member
 
L'Avatar di ^TiGeRShArK^
 
Iscritto dal: Jul 2002
Città: Reggio Calabria -> London
Messaggi: 12112
Quote:
Originariamente inviato da Occasus Guarda i messaggi
Questo è il problema. Ho provato tante soluzioni (la prima funzione era simile, se non uguale a quella tua) che in teoria dovrebbero andare, ma in pratica non disegnano i fiori.
ehmm...
se hai un raggio x e fai un arco di 180° allora ti ritrovi esattamente in corrispondenza del punto di partenza, dopo aver disegnato un arco, però traslato di 2x lungo la direzione perpendicolare (con verso a sinistra) della posizione inziale della tartaruga.
La direzione della tartaruga sarà a quel punto parallela rispetto a quella iniziale, ma il verso sarà opposto.
Quindi ruotando di 90° verso destra e ripetendo il procedimento avremo che sarà traslata di 2x nella direzione verso cui era rivolta prima di essere girata di 90°.
Finendo il giro si avrà una situazione di questo tipo (rappresentando solo i diametri degli archi):
Codice:
------
|    |
|    |
------
con la tartaruga che sarà ritornata al punto di partenza disegnando i 4 archi che formano i petali del fiore.
A quel punto generalizzare la funzione per ogni numero di petali dovrebbe essere banale così ad occhio.
__________________
^TiGeRShArK^ è offline   Rispondi citando il messaggio o parte di esso
Old 19-01-2008, 12:21   #8
k0nt3
Senior Member
 
Iscritto dal: Dec 2005
Messaggi: 7260
per non saper ne leggere ne scrivere in python sono riuscito a ottenere una cosa simile
Codice:
import math
from TurtleWorld import *


def polyline(t, length, n, angle):
    """Draw n line segments with the given length and
    angle (in degrees) between them. t is a turtle.
    """
    for i in range(n):
        fd(t, length)
        lt(t, angle)

def arc(t, r, angle):
    """Draw an arc with the given r (radius) and angle
    (in degrees). t is a turtle."""
    arclength = 2 * math.pi * r * angle / 360
    n = int(arclength / 4)
    length = arclength / n
    polyline(t, length, n, float(angle)/n)


def flower(turtle, radius, petals):
    for i in range(petals):
        arc(turtle, radius, 90)
        lt(turtle, 90)
        arc(turtle, radius, 90)
        lt(turtle, (360/petals+90))


TurtleWorld()
bob = Turtle()
bob.delay = 0.001
flower(bob, 90, 7)
k0nt3 è offline   Rispondi citando il messaggio o parte di esso
Old 19-01-2008, 13:45   #9
^TiGeRShArK^
Senior Member
 
L'Avatar di ^TiGeRShArK^
 
Iscritto dal: Jul 2002
Città: Reggio Calabria -> London
Messaggi: 12112
Quote:
Originariamente inviato da k0nt3 Guarda i messaggi
per non saper ne leggere ne scrivere in python sono riuscito a ottenere una cosa simile
Codice:
import math
from TurtleWorld import *


def polyline(t, length, n, angle):
    """Draw n line segments with the given length and
    angle (in degrees) between them. t is a turtle.
    """
    for i in range(n):
        fd(t, length)
        lt(t, angle)

def arc(t, r, angle):
    """Draw an arc with the given r (radius) and angle
    (in degrees). t is a turtle."""
    arclength = 2 * math.pi * r * angle / 360
    n = int(arclength / 4)
    length = arclength / n
    polyline(t, length, n, float(angle)/n)


def flower(turtle, radius, petals):
    for i in range(petals):
        arc(turtle, radius, 90)
        lt(turtle, 90)
        arc(turtle, radius, 90)
        lt(turtle, (360/petals+90))


TurtleWorld()
bob = Turtle()
bob.delay = 0.001
flower(bob, 90, 7)
infatti hai usato la banale generalizzazione e il left turn che per qualche strano motivo ( ) quei geni hanno chiamato lt anzichè left turn
Ho sempre odiato chi chiama i metodi e le variabili con nomi non significativi

Cmq il mio codice, con un numero di petali pari a 4 ed aggiungendo il left turn funziona perfettamente
__________________
^TiGeRShArK^ è offline   Rispondi citando il messaggio o parte di esso
Old 19-01-2008, 13:54   #10
k0nt3
Senior Member
 
Iscritto dal: Dec 2005
Messaggi: 7260
Quote:
Originariamente inviato da ^TiGeRShArK^ Guarda i messaggi
infatti hai usato la banale generalizzazione e il left turn che per qualche strano motivo ( ) quei geni hanno chiamato lt anzichè left turn
Ho sempre odiato chi chiama i metodi e le variabili con nomi non significativi

Cmq il mio codice, con un numero di petali pari a 4 ed aggiungendo il left turn funziona perfettamente
ma come fai a disegnare un petalo con un solo arco?

ps. da uno che usa tk che nomi dei metodi ti aspettavi?
k0nt3 è offline   Rispondi citando il messaggio o parte di esso
Old 19-01-2008, 14:16   #11
^TiGeRShArK^
Senior Member
 
L'Avatar di ^TiGeRShArK^
 
Iscritto dal: Jul 2002
Città: Reggio Calabria -> London
Messaggi: 12112
Quote:
Originariamente inviato da k0nt3 Guarda i messaggi
ma come fai a disegnare un petalo con un solo arco?

ps. da uno che usa tk che nomi dei metodi ti aspettavi?
..hai provato a lanciare il mio codice per 4 petali con l'aggiunta di lt(turtle, 90)?
__________________
^TiGeRShArK^ è offline   Rispondi citando il messaggio o parte di esso
Old 19-01-2008, 14:19   #12
^TiGeRShArK^
Senior Member
 
L'Avatar di ^TiGeRShArK^
 
Iscritto dal: Jul 2002
Città: Reggio Calabria -> London
Messaggi: 12112
anzi...
guarda che figata
Codice:
import math
from TurtleWorld import *


def polyline(t, length, n, angle):
    """Draw n line segments with the given length and
    angle (in degrees) between them. t is a turtle.
    """
    for i in range(n):
        fd(t, length)
        lt(t, angle)

def arc(t, r, angle):
    """Draw an arc with the given r (radius) and angle
    (in degrees). t is a turtle."""
    arclength = 2 * math.pi * r * angle / 360
    n = int(arclength / 4)
    length = arclength / n
    polyline(t, length, n, float(angle)/n)


def flower(turtle, radius, petals):
    for i in range(petals):
        arc(turtle, radius, 180)
        lt(turtle, 360/petals)


TurtleWorld()
bob = Turtle()
bob.delay = 0.01
flower(bob, 50, 8)


è belliffimo

__________________

Ultima modifica di ^TiGeRShArK^ : 19-01-2008 alle 14:21.
^TiGeRShArK^ è offline   Rispondi citando il messaggio o parte di esso
Old 19-01-2008, 14:32   #13
k0nt3
Senior Member
 
Iscritto dal: Dec 2005
Messaggi: 7260
Quote:
Originariamente inviato da ^TiGeRShArK^ Guarda i messaggi
anzi...
guarda che figata
Codice:
import math
from TurtleWorld import *


def polyline(t, length, n, angle):
    """Draw n line segments with the given length and
    angle (in degrees) between them. t is a turtle.
    """
    for i in range(n):
        fd(t, length)
        lt(t, angle)

def arc(t, r, angle):
    """Draw an arc with the given r (radius) and angle
    (in degrees). t is a turtle."""
    arclength = 2 * math.pi * r * angle / 360
    n = int(arclength / 4)
    length = arclength / n
    polyline(t, length, n, float(angle)/n)


def flower(turtle, radius, petals):
    for i in range(petals):
        arc(turtle, radius, 180)
        lt(turtle, 360/petals)


TurtleWorld()
bob = Turtle()
bob.delay = 0.01
flower(bob, 50, 8)


è belliffimo

nono tu devi provare questo

Codice:
import math
from TurtleWorld import *


def polyline(t, length, n, angle):
    """Draw n line segments with the given length and
    angle (in degrees) between them. t is a turtle.
    """
    for i in range(n):
        fd(t, length)
        lt(t, angle)

def arc(t, r, angle):
    """Draw an arc with the given r (radius) and angle
    (in degrees). t is a turtle."""
    arclength = 2 * math.pi * r * angle / 360
    n = int(arclength / 4)
    length = arclength / n
    polyline(t, length, n, float(angle)/n)


def flower(turtle, radius, petals):
    for i in range(petals):
        arc(turtle, radius, 120)
        lt(turtle, 120)
        arc(turtle, radius, 120)
        lt(turtle, (360/petals+120))


TurtleWorld()
bob = Turtle()
bob.delay = 0.001
flower(bob, 90, 9)
k0nt3 è offline   Rispondi citando il messaggio o parte di esso
Old 19-01-2008, 14:36   #14
^TiGeRShArK^
Senior Member
 
L'Avatar di ^TiGeRShArK^
 
Iscritto dal: Jul 2002
Città: Reggio Calabria -> London
Messaggi: 12112
Quote:
Originariamente inviato da k0nt3 Guarda i messaggi
nono tu devi provare questo
certo che è intrippante sta tartarughina
__________________
^TiGeRShArK^ è offline   Rispondi citando il messaggio o parte di esso
Old 19-01-2008, 14:44   #15
k0nt3
Senior Member
 
Iscritto dal: Dec 2005
Messaggi: 7260
Quote:
Originariamente inviato da ^TiGeRShArK^ Guarda i messaggi
certo che è intrippante sta tartarughina
mi ricordo di averci giochicchiato con un oggetto simile quando ero giovane..
k0nt3 è offline   Rispondi citando il messaggio o parte di esso
Old 19-01-2008, 18:49   #16
Occasus
Member
 
L'Avatar di Occasus
 
Iscritto dal: May 2005
Città: Another World
Messaggi: 237
Quote:
Originariamente inviato da ^TiGeRShArK^ Guarda i messaggi
ehmm...
se hai un raggio x e fai un arco di 180° allora ti ritrovi esattamente in corrispondenza del punto di partenza, dopo aver disegnato un arco, però traslato di 2x lungo la direzione perpendicolare (con verso a sinistra) della posizione inziale della tartaruga.
La direzione della tartaruga sarà a quel punto parallela rispetto a quella iniziale, ma il verso sarà opposto.
Quindi ruotando di 90° verso destra e ripetendo il procedimento avremo che sarà traslata di 2x nella direzione verso cui era rivolta prima di essere girata di 90°.
Finendo il giro si avrà una situazione di questo tipo (rappresentando solo i diametri degli archi):
Codice:
------
|    |
|    |
------
con la tartaruga che sarà ritornata al punto di partenza disegnando i 4 archi che formano i petali del fiore.
A quel punto generalizzare la funzione per ogni numero di petali dovrebbe essere banale così ad occhio.
Il problema, come hai notato, è che funziona solo con quattro petali.

Forse l'unica soluzione è prendere goniometro, calcolatrice e squadra, calcolare le misure e scrivere la funzione.
Occasus è offline   Rispondi citando il messaggio o parte di esso
Old 19-01-2008, 20:36   #17
^TiGeRShArK^
Senior Member
 
L'Avatar di ^TiGeRShArK^
 
Iscritto dal: Jul 2002
Città: Reggio Calabria -> London
Messaggi: 12112
Quote:
Originariamente inviato da Occasus Guarda i messaggi
Il problema, come hai notato, è che funziona solo con quattro petali.

Forse l'unica soluzione è prendere goniometro, calcolatrice e squadra, calcolare le misure e scrivere la funzione.
no.. quello di cui ho postato l'immagine è fatto in quel modo con 8 petali
e cmq l'avevo già scritto io che serviva una banale generalizzazione per farlo funzionare per tutti i casi..
cosa che ha fatto konte nel suo codice
__________________
^TiGeRShArK^ è offline   Rispondi citando il messaggio o parte di esso
Old 01-02-2008, 12:11   #18
guyver
Bannato
 
L'Avatar di guyver
 
Iscritto dal: May 2001
Città: Versilia
Messaggi: 1503
cad in python

ciao approfitto di questo 3d per chiedere:
stavo provando a far partire questo cam scritto in python e rilasciato sotto licenza mit
però mi da errore su un indentazione ma non capisco come risolverlo...
qualcuno me lo sà dire???
Allegati
File Type: zip cam.zip (22.3 KB, 3 visite)
guyver è offline   Rispondi citando il messaggio o parte di esso
Old 01-02-2008, 12:58   #19
variabilepippo
Senior Member
 
L'Avatar di variabilepippo
 
Iscritto dal: Mar 2007
Messaggi: 1792
Non si "approfitta" di un thread, se ne apre uno nuovo, non costa nulla farlo ed in tal modo si contribuisce a mantenere ordinato il forum.
variabilepippo è offline   Rispondi citando il messaggio o parte di esso
Old 04-02-2008, 11:03   #20
Ziosilvio
Moderatore
 
L'Avatar di Ziosilvio
 
Iscritto dal: Nov 2003
Messaggi: 16212
Quote:
Originariamente inviato da Occasus Guarda i messaggi
Ciao a tutti.
Dopo diversi fallimenti, sto tentando di imparare qualcosa su un linguaggio di programmazione, in questo caso il Python.
http://www.greenteapress.com/thinkpy...005.html#toc50 , esercizio 3.

Avendo già a disposizione queste funzioni:

CUT

come posso fare a realizzare la funzione per disegnare i fiori?
Anzitutto, mi sa che gli angoli dovranno essere due: uno per il numero dei petali (che è semplicemente 360°/n) e uno per la loro ampiezza, che chiamiamo alpha.

Proviamo a far disegnare alla tartarughina la parte inferiore di un petalo orizzontale.
Possiamo farlo dicendole di
- girare a destra di alpha/2, e poi
- tracciare un arco di ampiezza alpha.

A questo punto, la tartarughina è girata a sinistra di alpha/2 rispetto a est.
Per farle fare la parte superiore, dobbiamo farle ripetere la procedura, specularmente rispetto all'asse orizzontale, e in senso inverso.
Quindi, nel momento in cui inizia a disegnare, deve essere rivolta di alpha/2 a destra rispetto a ovest.
E questo, glielo possiamo far fare con un giro verso sinistra di 180°-alpha.

Adesso si può ripetere il tracciamento dell'arco; alla fine del quale, la tartarughina sarà girata di alpha/2 a sinistra rispetto a ovest.
Per farla di nuovo andare verso est, basta farla girare a sinistra di 180°-(alpha/2).
__________________
Ubuntu è un'antica parola africana che significa "non so configurare Debian" Chi scherza col fuoco si brucia.
Scienza e tecnica: Matematica - Fisica - Chimica - Informatica - Software scientifico - Consulti medici
REGOLAMENTO DarthMaul = Asus FX505 Ryzen 7 3700U 8GB GeForce GTX 1650 Win10 + Ubuntu
Ziosilvio è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


Lenovo Legion Go 2: Ryzen Z2 Extreme e OLED 8,8'' per spingere gli handheld gaming PC al massimo Lenovo Legion Go 2: Ryzen Z2 Extreme e OLED 8,8'...
AWS re:Invent 2025: inizia l'era dell'AI-as-a-Service con al centro gli agenti AWS re:Invent 2025: inizia l'era dell'AI-as-a-Se...
Cos'è la bolla dell'IA e perché se ne parla Cos'è la bolla dell'IA e perché se...
BOOX Palma 2 Pro in prova: l'e-reader diventa a colori, e davvero tascabile BOOX Palma 2 Pro in prova: l'e-reader diventa a ...
FRITZ!Repeater 1700 estende la rete super-veloce Wi-Fi 7 FRITZ!Repeater 1700 estende la rete super-veloce...
SpaceX: un satellite ha fotografato il s...
36 idee regalo con offerte Amazon sotto ...
Sony assume il controllo dei Peanuts: Sn...
DJI Neo scende a 149€ su Amazon, in vers...
Scoperto un nuovo esopianeta che orbita ...
Blue Origin NS-37: successo per la missi...
Potrebbe essere stata rilevata una super...
La cometa interstellare 3I/ATLAS è...
Xiaomi 17 Ultra: l'autonomia non sarà un...
Il processo produttivo a 2 nm di TSMC è ...
L'atteso aggiornamento dei driver della ...
The Elder Scrolls VI nel 2029 e Fallout ...
Il Ryzen 7 9850X3D appare nel catalogo d...
Weekend pre natalizio Amazon, ecco tutte...
Prezzi giù su Oral-B iO: spazzolini elet...
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:48.


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