关于号码百事通的问题

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

Kepler_

2019-12-02 22:23:16

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/5de51d520990b2ed12820157.jpg老师能不能解释一下,我不太懂它的意思,为什么在这里的if i.find(l) !=  -1:    在这里是错误的

而在循坏语句却能执行???

def i(n):
   for j in range(0, n):
       for i in range(0, 6):
           import random
           r = random.randint(1, 33)
           print(r, end=" ")
       d = random.randint(1, 16)
       print(d)
i(4)

http://img.mukewang.com/climg/5de51e170934ce4702440113.jpg然而这个却完好无事,为什么对比下面这个,上面那个却不能执行呢???老师请解释一下,小白表示不太懂~

写回答

2回答

时间,

2019-12-03

同学,你好。find()中的参数应为字符串类型的数据,而同学在调用时传入的是110,为int类型的数据,因此会报错。

在while循环中,调用k_c()时传入的参数g是通过input()函数输入的值,为字符串类型,因此在循环中不会报错

http://img.mukewang.com/climg/5de5bda1092ab32204270107.jpg

修改方法:

http://img.mukewang.com/climg/5de5bcc3092c33d607340281.jpg

如果我的回答解决了您的疑惑,请采纳!祝学习愉快~~~~

0

Kepler_

提问者

2019-12-02

while True:
   print("1-双色球")
   print("2-号码百事通")
   print("3-明日天气预报")
   c = input("请输入一个编码号:")
   c = int(c)
   if c == 1:
       f = input("请输入您需要生成多少:")
       f = int(f)
       i(f)
   elif c == 2:
       g = input("请输入您需要查找的数:")
       k_c(g)

  • 老师,这是我的那个循环语句,嘻嘻,请老师解析一下,我上面的问题~~~

0

0 学习 · 8160 问题

查看课程