我正在制作一个名为isSiete()的函数,该函数将接受具有5000个随机数的txt文件中的整数。

如果该数字的第二列数字(“十”列)为“ 7”,则返回True;否则为False。

def isSiete(num):
    numString = str(num)
    numList = list(numString)
    numSum = 0
    for i in numList:
        if ('0' + i)[-2] == '7':
            return True
        else:
            return False


我期望输出为True,但每次都为False。
我尝试了以下测试编号

isSiete(7777)
isSiete(4774)
isSiete(672)

最佳答案

根本不用理会琴弦。除以10两次,速度快了一个数量级。

def isSiete(num):
    return num // 10 % 10 == 7


随着num大小的增加,算术会变慢,但是当num是17位数字时,算术仍然会更快。

关于python - Python不返回任何值,而是返回True或False,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/56876316/

10-12 21:21