Problsema "None" al termine di ogni esecuzione del programma

di Anonimizzato21070 il
2 risposte
Ciao a tutti sto esercitandomi con il Python2 e in particolare nel contare quante volte una lettera data dall'utente compare in una frase scelta dall'utente:
#!/usr/bin/env python2
# -*- coding: iso-8859-15 -*-
print 'ex5_stringhe'
print 'inserisci una stringa'
fras=raw_input()
print 'inserisci la lettera da cercare'
lett=raw_input()
def cont_lett(fras,lett):
	string=fras
	cont=0
	a=0
	for a in string:
		if lett == a:
			cont=cont+1
	print cont
print 'la stringa inserita ', fras,'contiene ',cont_lett(fras,lett), 'volte la lettera ', lett,'scelta'
però ad ogni esecuzione compare la scritta "None" praticamente quasi sempre:
matteo@matteo-Aspire-E5-571G:~/Documenti/Python/Esercizi/7.Stringhe$ ./ex5.py
ex5_stringhe
inserisci una stringa
aaaaaaabbbbbbccccc
inserisci la lettera da cercare
a
la stringa inserita aaaaaaabbbbbbccccc contiene 7
None volte la lettera a scelta
matteo@matteo-Aspire-E5-571G:~/Documenti/Python/Esercizi/7.Stringhe$
come mai? grazie per la risposta

2 Risposte

  • La funzione cont_lett non ritorna niente... usa return
  • candaluar ha scritto:


    La funzione cont_lett non ritorna niente... usa return
    Quoto candaluar, in ogni caso passi ad una print un metodo che non ritorna nulla, questo fa generare un "None "!.
    Quindi potresti togliere la print dal metodo e fare un return della variabile "cont".
Devi accedere o registrarti per scrivere nel forum
2 risposte