【发布时间】:2019-07-03 18:47:30
【问题描述】:
我正在创建一个名为 isSiete() 的函数,它将接受来自 txt 文件的整数,其中包含 5000 个随机数。
如果数字的第二列数字(“十”列)是“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) 西特(4774) isSiete(672)
【问题讨论】:
-
为什么会有循环?
-
@Evgeny。 String 已经是一个序列,而不是一个列表。序列是您可以索引的具有长度的东西。列表是列表类的一个实例。
-
'0'+i并没有像你想象的那样做;尝试使用调试器。 -
numString = str(num),numList = list(numString),for i in numList表示i始终为一个字符,'0' + i始终为两个字符,('0' + i)[-2]始终为'0'。 -
这只会检查一次.....然后从函数返回。这是你想做的吗?
标签: python python-3.x