还是一个关于号码百事通的不理解

来源:4-3 实操实现:号码百事通功能

Kepler_

2019-12-03 14:06:42

def k_c(l):
   import random
   str1 = "匪警电话:110,急救电话:120,消防电话:119,交通电话122110"
   r = str1.split(",")
   # print(r)
   for i in r:
       if i.find(l) != -1:
           print(i)
k_c('110')

http://img.mukewang.com/climg/5de5faab095c268c01730069.jpg老师,这个在这里这样是没错,但是我有一个问题,就是if i.find(l) != -1:这个为什么是-1呢?若我换成-2,-3?为什么是下面这个样子的呢?

def k_c(l):
   import random
   str1 = "匪警电话:110,急救电话:120,消防电话:119,交通电话122110"
   r = str1.split(",")
   # print(r)
   for i in r:
       if i.find(l) != -2:
           print(i)

k_c('110')

http://img.mukewang.com/climg/5de5fb53099fa0c301850106.jpg小白有些不懂,需要了解一下,嘻嘻~

写回答

1回答

好帮手乔木

2019-12-03

同学你好:

同学需要了解find方法返回的值的意思。

如果存在则返回该字符的索引位置,否则返回-1。

if i.find(l) != -1:

 i.find(l)!=-1 说明在i中存在l时输出i。

同学说的 i.find(l)!=-2。

由于find方法返回的值除了-1就是索引值。因此得到的所有的值都满足i.find(l) != -2的条件。

所以输出所有的电话号码(i)。

如果我解决了同学的问题,请采纳!学习愉快^_^。

1

0 学习 · 8160 问题

查看课程