使用范围内的3打印每个数字

时间:2017-09-25 23:11:35

标签: python

用户给出一个范围,比如说0-31 程序应返回一个列表,其中包含每个具有3的数字; 所以:3,13,23,30,31

应该使用for循环语句,但我不太清楚如何格式化

for i in range(start, end+1):
    if 3 in i:
        print(i)

这就是我现在所拥有的,感谢您的帮助!

编辑:

def giveMeFive (start, end):
    everyfive=[]
    for i in range(start, end+1):
        if "5" in str(i):
            everyfive.append(i)
        return everyfive


    # Test giveMeFive()
beginning = int(input("Enter the starting value of the range: "))
end = int(input("Enter the ending value of the range: "))
fives = giveMeFive(beginning, end)

print("Here is the list of values that contain at least one 5:", fives)
print() # Insert a blank line in the output

3 个答案:

答案 0 :(得分:2)

def giveMeFive (start, end):
    fives = []
    for i in range(start, end+1):
        if "5" in str(i):
            fives.append(i)
    return fives

    # Test giveMeFive()
beginning = int(input("Enter the starting value of the range: "))
end = int(input("Enter the ending value of the range: "))
fives = giveMeFive(beginning, end)

print("Here is the list of values that contain at least one 5:", fives)
print() # Insert a blank line in the output

答案 1 :(得分:1)

我想在@ Testarific的回答中添加一些解释。您的问题是i是一个整数类型,为了在i中查找字符 - 这是一个字符串类型 - 您需要先将其转换为字符串类型,str(i)那样。

答案 2 :(得分:0)

这看起来像是一个家庭作业问题。为什么不使用列表理解?类似的东西:

return [str(i) for i in range(0, 26) if "3" in str(i)]