Hard Python Readhead Edition (con

  Рет қаралды 4,761

Enkk

Enkk

Күн бұрын

#python #pythontutorial #pythonforbeginners
Vecchia nuova serie di Hard Python Redhead Edition in quanto l'allievi questa volta è la nostra amica e collega Michelle
Ammirate Michelle scrivere i suoi primi codici e risolvere gli esercizi di Enkk
Github con i codici di tutte lezioni - github.com/Enkkfull/Hard-Pyth...
0:00:00 | Intro
0:00:58 | Enkk vi chiama al commento
0:01:25 | Compito della lezione precedente
0:06:54 | Precisazione importante
0:10:55 | L'esercizio
0:29:13 | Le Liste su Python
0:42:02 | Miglioriamo l'esercizio con le nuove conoscenza
0:51:07 | Nuove funzioni sulle stringhe
1:01:45 | Analizziamo il compito per la prossima settimana
1:08:24 | Commenti finali
1:09:17 | Saluti felici
1:09:34 | Outro per quando siete confusi dai compiti
Canale Michelle - / michelleputtini
Playlist Hard Python Readhead Edition con Michelle | • Hard Python Redhead Ed...
Playlist Hard Python - Enkk & StudyTme | • Hard Python (Enkk & St...
Playlist Hard Cooking | • Hard Cooking
Playlist Discordi con Enkk | • Discorsi con Enkk
Questi contenuti sono prodotti in live, quindi se ti piace Enkk, adorerai Enkk in Live su twitch.tv/enkk ogni sabato e domenica dalle 17 alle 3
Enkk in Live - / enkk
EnkkGaming - / @enkkgaming
Enkk TikTok - / enkkclips
Enkk IG - / enkkgram
Reddit - / enkk
Edit by / @coste9 | linktr.ee/coste9
#python #pythontutorial #pythonforbeginners

Пікірлер: 71
@lorenzo_lifechange
@lorenzo_lifechange 3 ай бұрын
Ti prego non terminare mai questa serie, sto capendo davvero un sacco di cose e mi stai facendo appassionare a questo mondo. Grazie grazie grazie
@enkk
@enkk 3 ай бұрын
Ne godo!
@ginoginoleo
@ginoginoleo 3 ай бұрын
Mi aggrego, grazie enkk ❤
@Castaaaaaa_
@Castaaaaaa_ 3 ай бұрын
commento per far notare all’ algoritmo di youtube la qualità del video
@ValeSana32
@ValeSana32 3 ай бұрын
Idemmm
@beatricebortoli3264
@beatricebortoli3264 3 ай бұрын
Dajum
@Sirekkeris
@Sirekkeris 3 ай бұрын
Enkk complimenti per l'efficacia delle tue spiegazioni, si percepisce una tua crescita rispetto alle edizioni passate. Nonostante io programmi da anni guardo con piacere questa serie che, oltre a insegnare il pitone, insegna anche ad insegnare.
@Pi7on
@Pi7on 3 ай бұрын
100% Sono un programmatore e sto seguendo principalmente per lo stupendo processo d'insegnamento dell'Enkkone
@rottenpomodoro
@rottenpomodoro 3 ай бұрын
Enkk, sei un dio sceso in terra per illuminare le nostre menti con la tua saggezza pythonica! La tua spiegazione delle liste è stata così magistrale che anche un bradipo con l'artrite potrebbe capirla. La tua naturalezza nel trasmettere concetti complessi è disarmante, e la tua sinergia con Michelle è pura magia. Insieme siete come il fuoco e il ghiaccio, il sole e la luna, la Nutella e la banana: due forze inarrestabili che creano un'esplosione di apprendimento e divertimento. Le tue lezioni sono un vortice di adrenalina intellettuale che mi lascia senza fiato. Ascoltarti è come fare un bungee jumping mentale: un'esperienza al cardiopalma che ti fa desiderare di più. Grazie a te, Enkk, il codice Python non è più un mistero indecifrabile, ma una sinfonia di eleganza e potenza. Ora non vedo l'ora di tuffarmi a capofitto nelle liste, sicuro di poter domare la loro complessità grazie ai tuoi insegnamenti divini. P.S. Se un giorno decidessi di aprire una setta dedicata al culto del Pitone, sarò il tuo primo adepto!
@sql638
@sql638 3 ай бұрын
Mi sto avvicinando alla programmazione in questo periodo, sto leggendo Automate Boring Stuff with Python e quando escono queste puntate cerco di recuperarle, toccando un po’ gli stessi argomenti ma in modi differenti Ottimo contenuto! Spero in un progettino di fine corso per mettere in pratica tutto quello imparato in modo più interattivo
@zinghi92
@zinghi92 3 ай бұрын
Ottima lezione Enkk! Michelle sempre più in gamba :D Complimenti ragazzi e ai futuri programmatori che stanno seguendo la serie
@matb8090
@matb8090 3 ай бұрын
Attendiamo con ansia un corso specifico su machine learning
@eliababini
@eliababini 3 ай бұрын
mi sto laureando in informatica ma sono qui perchè la chat è erotica 🔥
@giuseppebonaccurso410
@giuseppebonaccurso410 3 ай бұрын
Serie bellissima . Enk un insegnante bravissimo .
@leonardoparodi7615
@leonardoparodi7615 3 ай бұрын
Compito: # creare un prgramma che analizzi 3 numeri inseriti dall'utente #input nome utente, se inzia con maiuscola bene, altrimenti si mette la maiuscola nome = input("Inserire nome utente: ") if nome != nome.capitalize(): nome = nome.capitalize() print("Benvenuto " + nome) else: print("Benvenuto " + nome) #input primi 2 numeri e successivamente il terzo primo_inp = (input("Inserire 2 numeri separati da una virgola: ")) secondo_inp = (input("Inserire il terzo numero: ")) #gestione numeri lista = primo_inp.split(",") lista.append(secondo_inp) #stampare i numeri print(lista[0]) print(lista[1]) print(lista[2]) #media n1 = int(lista[0]) n2 = int(lista[1]) n3 = int(lista[2]) media = (n1 + n2 + n3)/3 print("La media è:", media) #controlli #terzo numero maggiore della somma dei precedenti if (n1+n2) < n3: print("Il terzo numero è maggiore della somma dei precedenti") else: print("Il terzo numero è minore della somma dei precedenti") #verifica che i 3 numeri siano tutti diversi tra loro if n1 != n2 and n2 != n3: print("I numeri sono tutti diversi") else: print("Almeno 2 numeri sono uguali") #somma dei numeri maggiore o minore del numero di caratteri utente len_user = len(nome) if len_user > (n1+n2+n3): print("La somma è minore del numero di caratteri del nome utente") else: print("La somma è maggiore del numero di caratteri del nome utente") Grazie Enkk per queste lezioni
@giuseppebonaccurso410
@giuseppebonaccurso410 3 ай бұрын
🔝
@krysto2002_
@krysto2002_ 3 ай бұрын
Ciao Enkk, stavo svolgendo l'esercizio "Detector di parole bannabili" e provando mi è uscita la soluzione scrivendo parole_bannabili = p1,p2,p3,p4,p5,p6,p7,p8,p9,p10 "if parole_bannabili is not messaggio.lower(): print("Sei bannato") else: print(messaggio) " Poi con un pò di raginamento e con la spiegazione di copilot su quest'ultimo sono arrivato a questo risultato. CHE HA SENSO. "if messaggio.lower() in parole_bannabili: print("Sei bannato") else: print(messaggio) " Però non capisco perchè con "is not" arrivo allo stesso risultato, non ne capisco il senso. TNX per l'aiuto. ps. lezioni esplicative, istruttive e complementari nell'aprendimento. Ottimo Lavoro.
@CrazyAlbatross46
@CrazyAlbatross46 3 ай бұрын
Io quando ho visto questo video: " interessante, ma mi sono perso le prime 4 puntate non potro mai seguire il discorso" Sempre io che son laureato in ingegneria informatica. 😅😅 Vabbhe dai aparte sta cosa il video é fatto bene
@carloatzeni8165
@carloatzeni8165 3 ай бұрын
Sarebbe bello poter partecipare alla diretta, fare un bel gruppo
@ArrowFinally
@ArrowFinally 3 ай бұрын
Finito Questa Edition proporrei una parte più avanzata dedicata ai dati, AI ecc... sarebbe molto interessante
@ginoginoleo
@ginoginoleo 3 ай бұрын
Quoto
@angelomarconi3028
@angelomarconi3028 3 ай бұрын
Creare un programma in Python che prenda in input una stringa e restituisca tutte le lettere dell'alfabeto inglese che non compaiono nella stringa immessa. Da notare il fatto che si deve considerare ogni lettera dell'alfabeto inglese, indipendentemente se maiuscola o minuscola. Nota bene: scorrere 26 volte la stringa è veramente una soluzione da principianti.
@L4ller0
@L4ller0 3 ай бұрын
# Soluzione più chiara from typing import List def fun(s: str) -> List[str]: res = [] letters = set(s.lower()) for i in range(97, 123): if chr(i) not in letters: res.append(chr(i)) return res print(fun("angelomarconi")) # (Almost) One line solution from typing import List def fun(s: str) -> List[str]: letters = set(s.lower()) return list(chr(i) for i in range(97, 123) if chr(i) not in letters) print(fun("angelomarconi"))
@alexandropower777
@alexandropower777 3 ай бұрын
enk dopo questo corso potresti farne uno su html, css, js, php, sql??
@IlRagnoDelLimbara
@IlRagnoDelLimbara 3 ай бұрын
12:10
@Justovic98
@Justovic98 3 ай бұрын
Commento per l'algoritmo
@trooperballerino2062
@trooperballerino2062 3 ай бұрын
Ma signor Enkkone, ho una domanda: le funzioni dopo il punto sono collegate al discorso di classi e oggetti come in altri linguaggi o è un'altra questione? (non ho mai studiato python)
@Pi7on
@Pi7on 3 ай бұрын
Ci sono oggetti e classi anche in Python, quindi sì, il concetto è lo stesso. Quando chiami una funzione usando il punto, stai effettivamente richiamando un "metodo" sull'istanza di un oggetto.
@trooperballerino2062
@trooperballerino2062 3 ай бұрын
@@Pi7on Grazie mille per la risposta
@antoninochille106
@antoninochille106 2 ай бұрын
Buongiorno, veramente complimenti, io avevo iniziato un po' prima a studiare python. Poi vi ho trovato e siete fantastici. Io il compito lo svolto...ma credo di averlo svolto in maniera alternativa alla vostra. Te lo posso mandare giusto x avere una tua opinione?
@enkk
@enkk 2 ай бұрын
Ciao Antonio, apprezzo che ti piaccia la serie e certo! Commenta pure qua con l'esercizio, di solito riesco a vedere e a rispondere a tutti i vostri commenti relativi agli esercizi
@antoninochille106
@antoninochille106 2 ай бұрын
@@enkk #parte uno nome_utente = input('inserisci il nome ') nome_utente = nome_utente.capitalize() print('Benvenuto ' + nome_utente) #parte due numeri_inseriti = input('Inserisci due numeri con la virgola. Esempio 3,2 ') terzo_numero = int(input('inserisci il terzo numero ')) numeri_inseriti = numeri_inseriti.split(',') numeri_inseriti.append(terzo_numero) num1 = int(numeri_inseriti[0]) num2 = int(numeri_inseriti[1]) num3 = numeri_inseriti[2] print(num1, num2, num3) media_valori = (num1 + num2 + num3)/3 print('la media dei valori inseriti è: ' + str(media_valori)) #parte due - controlli if num3 > num1 + num2: print('il terzo numero è maggiore della somma dei primi due numeri inseriti') else: print('il terzo numero è minore della somma dei primi due numeri inseriti') if num1 != num2 != num3: print('i numeri iseriti sono diversi tra loro') else: print('i numeri inseriti sono uguali') if num1 + num2 + num3 > len(nome_utente): print('la somma dei numeri inseriti è maggiore della lunghezza del tuo nome.') elif num1 + num2 + num3 < len(nome_utente): print('la somma dei numeri inseriti è minore della lunghezza del tuo nome.') print('Siamo arrivati alla fine. Arrivederci')
@paaolaad
@paaolaad 3 ай бұрын
Quando esce la versione con i disegnini? Chiedo per un’amica
@EnkkGaming
@EnkkGaming 3 ай бұрын
@enkk
@enkk 3 ай бұрын
Prova a fare delle domande qui, ti rispondo.
@D3B3HD
@D3B3HD 3 ай бұрын
Potresti introdurre l'interprete per avere una lavagna interattiva
@carloatzeni8165
@carloatzeni8165 3 ай бұрын
questo compito e' difficile, quando fate la prossima diretta?
@enkk
@enkk 3 ай бұрын
La live la trovi ogni domenica intorno le 18 e il video KZfaq subito il lunedì a seguire Non demordere con il compito! Scrivi anche qua il tuo ragionamento o il punto in cui ti blocchi, così da poterlo capire meglio assieme
@francygamer9313
@francygamer9313 3 ай бұрын
Non capisco perchè se scrivo solo la parola me la individua, ma se sscrivo tipo torta alla ciliegia laa fa scrivere... avete pareri raga? (sono novellino) list = ["mela", "pera", "melone", "banana", "ciliegia"] messaggio = input("Digita il messaggio... ") if messaggio.lower() in list: print("Bannato") else: print(messaggio)
@Pi7on
@Pi7on 3 ай бұрын
Il motivo per cui non funziona è che tu, nella condizione dell'if, stai confrontando l'INTERITÀ del messaggio dell'utente con UN elemento della tua lista. Ossia, stiamo controllando se la stringa inserita dall'utente corrisponde nella sua interezza ad uno o più elementi della lista. Il motivo per cui funzionava prima, quando al posto della lista è stata usata la catena di 'or', è che in quel caso, si stava facendo una domanda leggermente diversa, ossia: La parola bannabile (stringa p1), appare nel messaggio dell'utente? La differenza è sottile ma fondamentale. Nel caso lista, cerchi se l'input utente è uguale a uno o più elementi della lista; nel caso 'or', cerchi se una o più parole appaiono nel messaggio utente.
@francygamer9313
@francygamer9313 3 ай бұрын
@@Pi7on Grazie mille, sei stato chiarissimo ed esaustivo🥺
@menz88
@menz88 3 ай бұрын
Essendo alle prime armi chiedo: Per la parola "pubblicità"..come si può rendere il messaggio bannabile anche se dovesse essere scritto "pubblicita" (senza accento)? Sarebbe impossibile e obbligherebbe l'aggiunta della variazione della parola all'interno della lista?
@Pi7on
@Pi7on 3 ай бұрын
Esiste la funzione unidecode() a cui puoi dare in input una stringa. La funzione rimuoverà tutti i segni diacritici (accenti compresi, quindi) dalla stringa, trasformandola nella sua versione ASCII, mantenendola il più simile possibile all'originale. Quindi ad esempio, unidecode("üàî") restituirà "uai". Per usare la funzione, ricorda che dovrai prima installarla: pip install unidecode E poi importarla all'interno del tuo file python: from unidecode import unidecode (Se stai usando replit, ti basterà il comando di import, ed il sito te la installerà automaticamente la prima volta che la usi)
@menz88
@menz88 3 ай бұрын
@@Pi7on grazie mille!!
@carloatzeni8165
@carloatzeni8165 3 ай бұрын
# VARIABILI user1 = "Enrico" psw1 = "Latteria!" bilancio1 = 2000 user2 = "Michelle" psw2 = "coprofagia@" bilancio2 = 120 # RICHIESTA INSERIMENTO DATI user = input("Inserisci il nome utente: ") psw = input("Inserisci la password: ") # CONDIZIONE DI VERIFICA NOME UTENTE E PASSWORD if (user == user1 and psw == psw1) or (user == user2 and psw == psw2): print("Buongiorno Signor/a " + user) # COMUNICA IL SALDO DEL CONTO if user == user1: print("Il Suo Saldo del conto è di euro", bilancio1) else: print("Il Suo Saldo del conto è di euro", bilancio2) # RICHIESTA TIPO OPERAZIONE op = input("Vuole Prelevare o Depositare? Per Prelevare Inserire 'P' - Per Depositare Inserire 'D': ") # VERIFICA INSERIMENTO CORRETTO PRELIEVO DEPOSITO if op == "P" or op == "D": # OPERAZIONE DI PRELIEVO if op == "P": pr = int(input("Quanto vuole Prelevare? Inserisca la cifra intera: ")) # IDENTIFICA L' UTENTE PER IL PRELIEVO E VERIFICA DISPONIBILITA' SOLDI if user == user1: bilancio1 -= pr if pr > bilancio1: print("Fondi Insufficienti") else: print("Il saldo finale è di euro", bilancio1) else: bilancio2 -= pr if pr > bilancio2: print("Fondi Insufficienti") else: print("Il saldo finale è di euro", bilancio2) # OPERAZIONE DI DEPOSITO elif op == "D": pr = int(input("Quanto vuole Depositare? Inserisca la cifra intera: ")) if user == user1: bilancio1 += pr print("Il saldo finale è di euro", bilancio1) else: bilancio2 += pr print("Il saldo finale è di euro", bilancio2) else: print("Scelta Errata") else: print("Nome Utente o Password Errati ")
@giuseppefontana5471
@giuseppefontana5471 3 ай бұрын
ma non era meglio spiegare la programmazione ad oggetti prima delle liste?
@sql638
@sql638 3 ай бұрын
Python è solo programmazione ad oggetti o sbaglio?
@giuseppefontana5471
@giuseppefontana5471 3 ай бұрын
@@sql638 ni, nel senso che se vuoi puoi anche fregartene degli oggetti e programmare solo con le funzioni e le variabili classiche (interi, float e caratteri). Però ad esempio quando usi le stringhe di fatti stai utilizzando l'oggetto String. Invece linguaggi come Java ad esempio sono solo ad oggetti. Da cosa si riconosce un oggetto? Dal fatto che può chiamare roba semplicemente mettendo il punto dopo la variabile. Però se sei un neofita dimentica tutto perchè rischi di confonderti. Segui passo passo le lezioni e non dare troppo peso alle mie puntualizzazioni.
@carmineoliva
@carmineoliva 3 ай бұрын
molto piu facili le liste
@ForsakenZero
@ForsakenZero 3 ай бұрын
La lista è un concetto che va oltre al tipo di paradigma che tu vuoi usare. Ad esempio, le liste esistono tranquillamente in C che è di solito il linguaggio di partenza quando inizi a studiare, e dove di oggetti ovviamente non si parla. Credo che l'obiettivo per ora di queste "lezioni" sia quello di dare un' infarinatura base su cosa si possa fare con la programmazione, e che tu programmi ad oggetti o meno, non è rilevante. Michelle qui non deve imparare tanto cos'è una lista o come una lista funzioni in python, ma deve acquisire strumenti e capire concetti che le saranno utili a prescindere dal linguaggio. Parlare già di paradigmi di programmazione, o anche solo di strutture dati, è davvero precoce. Secondo me la cosa più probabile è che prossimamente si parlerà di cicli, per poi iniziare a vedere qualcosa delle funzioni. Durante questa prima fase saranno inseriti magari vari concetti utili come qualche struttura dato semplice, qualche funzioncina utile ecc. Dopo di ciò magari si passerà a concetti di programmazione ad oggetti per iniziare a fare cose più interessanti. Almeno, questo è il mio punto di vista non richiesto ahah
@giuseppefontana5471
@giuseppefontana5471 3 ай бұрын
@@ForsakenZero ok, conosco bene il linguaggio C e ho capito cosa intendi. Ha senso il tuo ragionamento ma se un domani studierà il linguaggio C dovrà capire il perchè non riesce a chiamare delle funzioni mettendo il punto quando usa una struct. In un libro sul linguaggio C non c'è motivo di menzionare una roba del genere perchè il linguaggio C non lo prevede. Se studiasse il C++ invece il problema non si pone. L'importante è che accenni alla differenza tra programmare ad oggetti e programmare usando solo le robe built-in.
@nairzeen
@nairzeen 3 ай бұрын
La mia soluzione: nome_utente = input("Inserire nome utente: ") prima_lettera = nome_utente[0] if prima_lettera.isupper(): nome_utente = nome_utente else: nome_utente = nome_utente.capitalize() print("Benvenuto", nome_utente + "!") due_numeri = input("Scrivi due numeri interi separati da una virgola: ") terzo_numero = input("Scrivi ora un terzo numero intero: ") tutti_i_numeri = due_numeri + ","+ terzo_numero tutti_i_numeri = tutti_i_numeri.split(",") numero1 = int(tutti_i_numeri[0]) numero2 = int(tutti_i_numeri[1]) numero3 = int(tutti_i_numeri[2]) print("Ecco i tre numeri che hai scelto:",numero1, numero2, numero3) media = (numero1+numero2+numero3)/3 print("La media dei tuoi numeri è:", media) if numero3 > (numero1+numero2): print("Il terzo numero inserito è maggiore della somma degli altri due; nello specifico: ", numero3,"è maggiore di", (numero1+numero2)) else: print("La somma dei primi due numeri è maggiore del terzo numero; nello specifico: ", (numero1+numero2), "è maggiore di", numero3) if numero1 != numero2 and numero2 != numero3: print("I tre numeri inseriti sono tutti diversi fra loro") elif numero1 == numero2: print("Il primo numero è uguale al secondo numero inserito") elif numero1 == numero3: print("Il primo numero è uguale al terzo numero inserito") else: print("il secondo numero è uguale al terzo numero inserito") if (numero1+numero2+numero3) > len(nome_utente): print("La somma dei numeri scelti è maggiore del numero dei caratteri del tuo nome utente") else: print("La somma dei numeri scelti è minore del numero dei caratteri del tuo nome utente")
@eliababini
@eliababini 3 ай бұрын
Ciao! Se non ti dispiace ti correggo qualche cosa: - nel primo if, in caso la prima lettera sia già maiuscola (e quindi il booleano sia True), riassegni alla variabile il suo stesso valore, il che non è molto utile. Non so se abbia spiegato il not per i booleani, ma in caso puoi usare unicamente if prima_lettera.isupper() == False e se così è la rendi maiuscola - dopo che chiedi in input i tre numeri, unisci ai primi due il terzo con una virgola, anche se poi la caverai subito dopo con lo split(). Ti conviene quindi fare lo split(",") solo su due_numeri (che ti restituisce una lista con i primi due numeri come stringhe) e poi unire alla lista il terzo_numero con la funzione append() -nel controllo del terzo numero, invece che "è maggiore di" puoi stampare direttamente il carattere ">" Per il resto sembra tutto corretto!
@hangmover
@hangmover 3 ай бұрын
​​@@eliababini se vogliamo essere pignoli quell' if non serve neanche (lo so che enk ha detto di controllare ma possiamo renderla maiuscola a prescindere da come era prima). Poi invece di usare .isupper() == False si può mettere solo if lettera.islower(): PS: la funzione capitalize() rende maiuscola solo la prima lettera di una parola quindi se decidi di usarla puoi fare direttamente nome = input("Come ti chiami? ") print("Ciao", nome.capitalize(), "benvenuto!") Diciamo che capitalize è sicuramente la strada giusta più avanti nel percorso ma per ora è un po' un cheat per quello che vuole testare enk. Se vuoi guarda la risposta di lollopolli13... che ha manipolato la stringa senza funzioni aggiuntive, usando l' .upper() che invece renderebbe maiuscoli tutti i caratteri e nel tuo caso non funzionanerebbe. Per il resto bel lavoro
@enkk
@enkk 3 ай бұрын
@@eliababini Aggiungo alla correzione (bravo che dai feedback ad altri della community). - usare == False è bruttino, isupper() è un booleano, quindi possiamo direttamente dire if not prima_lettera.isupper() oppure if prima_lettera.islower(). Ma mi spingerei oltre a dire che l'if è useless. Chiamerei direttamente capitalize... non costa nulla computazionalmente e rende il codice più pulito. - A me la soluzione di aggiungere manualmente con la virgola e poi splittare piace abbastanza. Vero, si può fare split e poi append, ma questa implementazione mostra una bella fantasia e comprensione delle liste, a me non dispiace :D - Mi piacciono le stampe dettagliate, è un buon esercizio. Il carattere scelto non fa molta differenza. Bravi tutti e due!
@zMaAu
@zMaAu 3 ай бұрын
Totalmente drogato di questa serie! Soluzione dell'assegno :) -> nome_utente = input("Come ti chiami? ") lunghezza_nome = len(nome_utente) if nome_utente[0] == nome_utente[0].lower(): nome_utente = nome_utente[0].upper() + nome_utente[1:lunghezza_nome ] due_numeri = input("Benvenuto/a " + nome_utente+ "! Inserisci due numeri interi separati da una virgola ") lista_numeri = due_numeri.split(",") numero1 = float(lista_numeri[0]) numero2 = float(lista_numeri[1]) numero3 = float(input("Inserisci un terzo numero ")) lista_numeri.append(str(numero3)) print("I tuoi tre numeri sono:",numero1, numero2, numero3) media = (numero1+numero2+numero3)/3 print("La media dei tuoi tre numeri è:", media) if numero3>numero1+numero2: print("Il terzo numero è maggiore degli altri due") if numero1+numero2+numero3>lunghezza_nome: print("La somma dei tre numeri è maggiore della lunghezza del tuo nome") if (numero1 !=numero2 and numero1 !=numero3) and numero2 != numero3: print("Tutti i numeri sono tra loro diversi")
@enkk
@enkk 3 ай бұрын
È una buona soluzione! Alcune riflessioni: l'if che controlla la prima lettera è in realtà inutile, possiamo semplicemente sostituire il nome utente con la sua versione capitalizzata in ogni caso. È una operazione di poco costo (e risparmiamo un if). Apprezzo l'uso di nome_utente[1:lunghezza_nome], qualcosa che non ho ancora spiegato. In realtà, non c'è una soluzione direttamente fattibile con SOLO le cose che ho spiegato nella lezione. L'intento didattico è quello di farvi googlare, il problema è molto semplice e ci sono tante soluzioni (convertire a lista di caratteri e poi re-joinare, usare capitalize, ma anche quello che hai fatto tu). Perché farvi googlare? Perché è parte della programmazione scoprire nuove funzioni/funzionalità. Vediamo Michelle come ci rimane... PS: le parentesi nell'ultimo if sicuro che siano necessarie?
@lollopolli1387
@lollopolli1387 3 ай бұрын
la mia soluzione del compito: nome_utente = input("Ciao, inserisci il tuo nome utente: ") prima_lettera_maiuscola = nome_utente[0].upper() nome_utente = list(nome_utente) nome_utente.pop(0) nome_utente = "".join(nome_utente) nome_utente = prima_lettera_maiuscola + nome_utente print(" Ciao",nome_utente+", benvenuto! ") due_numeri = input("inserisci 2 numeri interi separati da una virgola: ") due_numeri = due_numeri.split(",") un_numero = input("ora inserisci 1 numero intero: ") due_numeri.append(str(un_numero)) tre_numeri = due_numeri print(" "+nome_utente,"i numeri che hai iserito sono:") print(tre_numeri[0]) print(tre_numeri[1]) print(tre_numeri[2]) print(" la loro media è:") media = (int(tre_numeri[0]) + int(tre_numeri[1]) + int(tre_numeri[2]))/len(tre_numeri) print(media) print(" inoltre posso ditri che:") if int(tre_numeri[2]) > int(tre_numeri[0]) + int(tre_numeri[1]): print("-il terzo numero è maggiore della somma degli altri due") else: print("-il terzo numero è minore o uguale della somma degli altri due") if not tre_numeri[0] == tre_numeri[1] and not tre_numeri[1] == tre_numeri[2] and not tre_numeri[0] == tre_numeri[2]: print("-tutti e tre i numeri sono diversi tra loro") else: print("-almeno due numeri su tre sono uguali") if (int(tre_numeri[0]) + int(tre_numeri[1]) + int(tre_numeri[2])) > len(nome_utente): print("-la somma dei 3 numeri è maggiore del numero di caratteri del tuo nome utente") else: print("-la somma dei 3 numeri è minore o uguale del numero di caratteri del tuo nome utente") print(" Arrivederci",nome_utente,"alla prossima!") PS commenti personali + piccolo rant La seconda parte del compito sono riuscito a svolgerlo tranquillamente. Mentre per la prima mi c'è voluto un po' più di tempo; si può sapere chi è il fenomeno che ha pensato di far si che se listo una stringa va tutto bene ma se ri-stringo la stessa lista mi restituisce un troiaio con parentesi quadre, spazi etc..??? PPS si noti che per calcolare la media invece di fare /3 ho utilizzato len() cosi da rendere la media valida anche se si appendessero degli altri numeri nella lista (im very proud of this)
@hangmover
@hangmover 3 ай бұрын
bravo per len(tre numeri), concettualmente giustissimo, ma nel caso "appendessimo" altri numeri non funzionerebbe, perché se fossero quattro devi comunque sommarne un altro prima di dividere, quindi poi tanto vale fare /4. Ma un giorno vedremo una funzioncina chiamata sum() che somma tutti gli elementi di una lista🤭 quindi poi diventerà bellissimo: media = sum(tre_numeri)/len(tre_numeri) e si godrà parecchio perché funziona con liste di qualsiasi lunghezza. PS: anche la prima parte eè scrivibile molto facilmente con: nome = input("Come ti chiami? ") print("Ciao", nome.capitalize(), "benvenuto!") Python è pieno di funzioni come questa, che svolgono il lavoro sporco al tuo posto, ma si googlano strada facendo, qui Enkkone ha voluto testare cose imparate oggi e tu hai fatto un ottimo lavoro, non era facilissimo!
@lollopolli1387
@lollopolli1387 3 ай бұрын
Grazie mille per il feedback, effettivamente non avevo pensato al fatto che avrei dovuto sommare un'altro eventuale elemento in caso di append per fare la media. 😅
@enkk
@enkk 3 ай бұрын
@@hangmover Approvo il complimento, è una delle "finezze" che si possono curare risolvendo il problema!
@enkk
@enkk 3 ай бұрын
Ottimo risultato! Ti do un po' di feedback. 1. Potresti valutare di fare il casting una volta per tutte così da non doverlo ripetere in giro nel codice. Inoltre il casting a stringa di "un_numero" è superfluo. È già una stringa se arriva da un input, ricordi? 2. not x == y si può scrivere x != y (not equals) 3. Soluzione molto fantasiosa per la parte 1. Come ho detto in altri commenti, la parte 1 è un bait... non si può risolvere solo con le cose che ho spiegato, ci vuole un mattoncino in più. Tante sono le soluzioni possibili, ad esempio usare la funzione capitalize. La tua è fra le più arzigogolate ma mostra una buona padronanza delle liste, quindi, la approvo (a fine didattico).
@lollopolli1387
@lollopolli1387 3 ай бұрын
@@enkk io però la parte 1 l'ho risolta solo con le cose spiegate da te o sbaglio? PS: comunque grazie enkkone per questa serie, mi sta divertendo molto ad imparare a programmare.
@alexandropower777
@alexandropower777 3 ай бұрын
nome = input("Come ti chiami? ") if nome[0].islower(): nome = nome.capitalize() print("Ciao "+ nome + "! Benvenuto/a nel 'Problema dei Tre Numeri'!") nums = input(" Iniziamo! Dammi due interi separati da una virgola! ") nums = nums.split(",") nums[0] = int(nums[0]) nums[1] = int(nums[1]) num3 = int(input("Ora voglio un altro intero, grazie ")) nums.append(num3) print("Perfetto allora! I tuoi numeri sono:", nums[0],nums[1],nums[2]) media = (nums[0] + nums[1] + nums[2]) / 3 print(" - La media di questi numeri è:", media) somma = nums[0] + nums[1] tot = nums[0] + nums[1] + nums[2] if nums[2] > somma: print(" - CHE FIGATA! Il terzo numero '" + str(nums[2]) + "' è maggiore della somma dei primi due che è '" + str(somma) + "'!") else: print(" - CHE PECCATO... Il terzo numero '" + str(nums[2]) + "' non è maggiore della somma dei primi due che è '" + str(somma) + "' :(") if nums[0] != nums[1] and nums[0] != nums[2] and nums[1] != nums[2]: print(" - CHE FORTUNA! I tuoi numeri '" + str(nums[0]),str(nums[1]),str(nums[2]) + "' sono tutti diversi tra loro!") else: print(" - NO NO NO!!.. Ci sono numeri uguali tra questi numeri '" + str(nums[0]),str(nums[1]),str(nums[2]) + "' >.
@enkk
@enkk 3 ай бұрын
Bella soluzione, fantasista dei feedback utente. PS: non mi piace tanto quando le print hanno il all'inizio, se usassi un sistema di logging (che aggiunge davanti ad ogni stampa l'orario e altre informazioni) sarebbe orrendo. Per il resto apprezzo l'uso di una lista per salvare tutti i numeri e l'uso dell'append. Bravo anche per aver trovato la funzione capitalize!
路飞太过分了,自己游泳。#海贼王#路飞
00:28
路飞与唐舞桐
Рет қаралды 35 МЛН
WHAT’S THAT?
00:27
Natan por Aí
Рет қаралды 14 МЛН
Mom's Unique Approach to Teaching Kids Hygiene #shorts
00:16
Fabiosa Stories
Рет қаралды 35 МЛН
Alex hid in the closet #shorts
00:14
Mihdens
Рет қаралды 16 МЛН
E' arrivato il nuovo motore di ricerca di Open AI!
7:26
Matteo Alba
Рет қаралды 164
Come funziona: il computer (parte I)
1:07:33
Enkk
Рет қаралды 11 М.
Come funziona: le Reti Neurali (Pt. 1)
1:53:31
Enkk
Рет қаралды 89 М.
ENKK reagisce a @BRECCIAdesign
34:00
Enkk
Рет қаралды 13 М.
Come funziona: la Borsa con @mr_rip
2:41:00
Enkk
Рет қаралды 44 М.
路飞太过分了,自己游泳。#海贼王#路飞
00:28
路飞与唐舞桐
Рет қаралды 35 МЛН