Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Attenti a Poco F7: può essere il best buy del 2025. Recensione
Attenti a Poco F7: può essere il best buy del 2025. Recensione
Poco F7 5G, smartphone che punta molto sulle prestazioni grazie al processore Snapdragon 8s Gen 4 e a un display AMOLED da ben 6,83 pollici. La casa cinese mantiene la tradizione della serie F offrendo specifiche tecniche di alto livello a un prezzo competitivo, con una batteria generosissima da 6500 mAh e ricarica rapida a 90W che possono fare la differenza per gli utenti più esigenti.
Recensione Samsung Galaxy Z Fold7: un grande salto generazionale
Recensione Samsung Galaxy Z Fold7: un grande salto generazionale
Abbiamo provato per molti giorni il nuovo Z Fold7 di Samsung, un prodotto davvero interessante e costruito nei minimi dettagli. Rispetto al predecessore, cambiano parecchie cose, facendo un salto generazionale importante. Sarà lui il pieghevole di riferimento? Ecco la nostra recensione completa.
The Edge of Fate è Destiny 2.5. E questo è un problema
The Edge of Fate è Destiny 2.5. E questo è un problema
Bungie riesce a costruire una delle campagne più coinvolgenti della serie e introduce cambiamenti profondi al sistema di gioco, tra nuove stat e tier dell’equipaggiamento. Ma con risorse limitate e scelte discutibili, il vero salto evolutivo resta solo un’occasione mancata
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 29-08-2008, 14:15   #1
grigor91
Senior Member
 
L'Avatar di grigor91
 
Iscritto dal: Dec 2007
Città: brianza
Messaggi: 717
[Python] Strano comportamento funzione

provando una funzione mi capita una cosa strana:
Codice:
def Trova(Stringa, Carattere, Inizio=0): 
  Indice = Inizio 
  while Inizio < len(Stringa): 
    if Stringa[Indice] == Carattere: 
      return Indice 
    Indice = Indice + 1 
  return -1 

Stringa = "coccodrillo"
Carattere = 'c'
Trova(Stringa, Carattere)
Se inserisco 4 come terzo parametro, invece di stampare -1 stampa:
Codice:
Traceback (most recent call last):
  File "<input>", line 1, in <module>
  File "<input>", line 4, in Trova
IndexError: string index out of range
Non ho capito come mai mi dà questo errore visto che la stringa è evidentemente più lunga di 4, qualcuno lo sa?
__________________
AMD Ryzen 9700X MSI RX 480 Gaming X 8G ASRock B850 Pro-A Windows 11 Pro RAM DDR5 16GBx2 TEAMGROUP T-Create Expert 6000 MHz CL30 SSD Crucial T500 4TB case Corsair Carbide 200R
grigor91 è offline   Rispondi citando il messaggio o parte di esso
Old 29-08-2008, 14:26   #2
cdimauro
Senior Member
 
L'Avatar di cdimauro
 
Iscritto dal: Jan 2002
Città: Germania
Messaggi: 26110
Il problema è che nel while referenzi Inizio anziché Indice.
__________________
Per iniziare a programmare c'è solo Python con questo o quest'altro (più avanzato) libro
@LinkedIn Non parlo in alcun modo a nome dell'azienda per la quale lavoro
Ho poco tempo per frequentare il forum; eventualmente, contattatemi in PVT o nel mio sito. Fanboys
cdimauro è offline   Rispondi citando il messaggio o parte di esso
Old 29-08-2008, 14:32   #3
grigor91
Senior Member
 
L'Avatar di grigor91
 
Iscritto dal: Dec 2007
Città: brianza
Messaggi: 717


mi sa che dovremo dirlo anche a quelli dell Howtothink visto che ho fatto copia-incolla del loro esempio
__________________
AMD Ryzen 9700X MSI RX 480 Gaming X 8G ASRock B850 Pro-A Windows 11 Pro RAM DDR5 16GBx2 TEAMGROUP T-Create Expert 6000 MHz CL30 SSD Crucial T500 4TB case Corsair Carbide 200R
grigor91 è offline   Rispondi citando il messaggio o parte di esso
Old 29-08-2008, 14:48   #4
cdimauro
Senior Member
 
L'Avatar di cdimauro
 
Iscritto dal: Jan 2002
Città: Germania
Messaggi: 26110
La colpa è sicuramente di quelli che hanno effettuato la traduzione dall'inglese all'italiano.

Segnalalo, se ti va.
__________________
Per iniziare a programmare c'è solo Python con questo o quest'altro (più avanzato) libro
@LinkedIn Non parlo in alcun modo a nome dell'azienda per la quale lavoro
Ho poco tempo per frequentare il forum; eventualmente, contattatemi in PVT o nel mio sito. Fanboys
cdimauro è offline   Rispondi citando il messaggio o parte di esso
Old 01-09-2008, 13:49   #5
grigor91
Senior Member
 
L'Avatar di grigor91
 
Iscritto dal: Dec 2007
Città: brianza
Messaggi: 717
ho un'altro problema:
Codice:
class Mazzo: 
  def __init__(self): 
    self.Carte = [] 
    for Seme in range(4): 
      for Rango in range(1, 14): 
        self.Carte.append(Carta(Seme, Rango)) 
        
  def __str__(self): 
    s = "" 
    for i in range(len(self.Carte)): 
      s = s + " "*i + str(self.Carte[i]) + "\n" 
    return s 

  def Mescola(self): 
    import random 
    NumCarte = len(self.Carte) 
    for i in range(NumCarte): 
      j = random.randrange(i, NumCarte) 
      self.Carte[i], self.Carte[j] = self.Carte[j], self.Carte[i] 
    
  def RimuoviCarta(self, Carta): 
    if Carta in self.Carte: 
      self.Carte.remove(Carta) 
      return 1 
    else: 
      return 0 

  def PrimaCarta(self): 
    return self.Carte.pop() 

  def EVuoto(self): 
    return (len(self.Carte) == 0) 
  def Distribuisci(self, ListaMani, NumCarte=999):
Codice:
Mazzo1 = Mazzo() 
Mazzo1.Mescola()
ma mi dà questo errore:
Codice:
Traceback (most recent call last):
  File "<input>", line 1, in <module>
AttributeError: Mazzo instance has no attribute 'Mescola'
E' strano visto che il metodo Mescola c'è
__________________
AMD Ryzen 9700X MSI RX 480 Gaming X 8G ASRock B850 Pro-A Windows 11 Pro RAM DDR5 16GBx2 TEAMGROUP T-Create Expert 6000 MHz CL30 SSD Crucial T500 4TB case Corsair Carbide 200R
grigor91 è offline   Rispondi citando il messaggio o parte di esso
Old 01-09-2008, 13:55   #6
cdimauro
Senior Member
 
L'Avatar di cdimauro
 
Iscritto dal: Jan 2002
Città: Germania
Messaggi: 26110
A me funziona (non trovava soltanto "Carta"):
Codice:
class Mazzo:
  def __init__(self): 
    self.Carte = [] 
    for Seme in range(4): 
      for Rango in range(1, 14): 
        self.Carte.append(Carta(Seme, Rango)) 
  def __str__(self): 
    s = "" 
    for i in range(len(self.Carte)): 
      s = s + " "*i + str(self.Carte[i]) + "\n" 
    return s 
  def Mescola(self): 
    import random 
    NumCarte = len(self.Carte) 
    for i in range(NumCarte): 
      j = random.randrange(i, NumCarte) 
      self.Carte[i], self.Carte[j] = self.Carte[j], self.Carte[i] 
  def RimuoviCarta(self, Carta): 
    if Carta in self.Carte: 
      self.Carte.remove(Carta) 
      return 1 
    else: 
      return 0 
  def PrimaCarta(self): 
    return self.Carte.pop() 
  def EVuoto(self): 
    return (len(self.Carte) == 0) 
  def Distribuisci(self, ListaMani, NumCarte=999):
    pass

def Carta(Seme, Rango):
  return Seme, Rango

Mazzo1 = Mazzo() 
Mazzo1.Mescola()
__________________
Per iniziare a programmare c'è solo Python con questo o quest'altro (più avanzato) libro
@LinkedIn Non parlo in alcun modo a nome dell'azienda per la quale lavoro
Ho poco tempo per frequentare il forum; eventualmente, contattatemi in PVT o nel mio sito. Fanboys
cdimauro è offline   Rispondi citando il messaggio o parte di esso
Old 01-09-2008, 14:09   #7
grigor91
Senior Member
 
L'Avatar di grigor91
 
Iscritto dal: Dec 2007
Città: brianza
Messaggi: 717
adesso va anche a me. Probabilmente era un errore di indentazione che sballava un po' tutto.
__________________
AMD Ryzen 9700X MSI RX 480 Gaming X 8G ASRock B850 Pro-A Windows 11 Pro RAM DDR5 16GBx2 TEAMGROUP T-Create Expert 6000 MHz CL30 SSD Crucial T500 4TB case Corsair Carbide 200R
grigor91 è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


Attenti a Poco F7: può essere il best buy del 2025. Recensione Attenti a Poco F7: può essere il best buy...
Recensione Samsung Galaxy Z Fold7: un grande salto generazionale Recensione Samsung Galaxy Z Fold7: un grande sal...
The Edge of Fate è Destiny 2.5. E questo è un problema The Edge of Fate è Destiny 2.5. E questo ...
Ryzen Threadripper 9980X e 9970X alla prova: AMD Zen 5 al massimo livello Ryzen Threadripper 9980X e 9970X alla prova: AMD...
Acer TravelMate P4 14: tanta sostanza per l'utente aziendale Acer TravelMate P4 14: tanta sostanza per l'uten...
Grok Imagine: evoluzione dell'IA o nuova...
L'Italia saluta anche IVECO: finalizzata...
Summer Black Friday: spendi meno e godit...
Half-Life 3? No, Gabe Newell produrr&agr...
Apple al lavoro su un sensore che "...
TSMC vittima di spionaggio industriale s...
Cooler Master MasterFrame 500: un flusso...
Apple accelera sull'IA interna: c'&egrav...
I robotaxi arrivano in Europa: Lyft e Ba...
Ancora voci sul mega tablet pieghevole d...
Un computer quantistico con 10.000 qubit...
AVM cambia nome e faccia: ora si chiama ...
SatNet ha lanciato altri satelliti per l...
Flop autonomia per la Fiat Grande Panda ...
2 TV LG da favola in super sconto: OLED ...
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: 20:06.


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