2017-04-12 9 views
-1

Ich möchte meinen Code dieses Ergebnis zurück:mit 5 in Python 3

>>>dont_give_five(1,9) #1,2,3,4,6,7,8,9 (5 excluded) 
8 
>>>dont_give_five(4,17) #4,6,7,8,9,10,11,12,13,14,16,17 (5 and 15 excluded) 
12 

Dies ist der Code, den ich versucht habe und meine Zählung 24 nicht 8.

def dont_give_five(start,end): 
    nums = list(range(start,end+1)) 
    nums = str(nums) 
    count = 0 
    for i in nums: 
     if i != '5': 
      count +=1 
    return count 

Antwort

0

Sie konvertieren die Liste selbst zu string. Verwenden Sie map die einzelnen Elemente zu str so zu konvertieren:

def dont_give_five(start,end): 
    nums = map(str, list(range(start,end+1))) 
    count = 0 
    for i in nums: 
     if '5' not in i: 
      count +=1 
    return count 

Hoffe, es hilft!

+0

Danke. Es wurde behoben – rarevessell

+0

@RareVessell Gern geschehen. – Szabolcs