如果输入关键字不存在,如何让它返回循环重新输出?continue应该怎么加?

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

慕的地8004648

2019-11-12 19:53:43

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

写回答

1回答

时间,

2019-11-13

同学,你好。同学可以参考下述代码及代码中的注释实现循环输入的功能

phone_numbers_str = "匪警[110],火警[119],急救中心[120]," \
                    "道路交通事故报警[122],水上求救专用电话[12395]," \
                    "天气预报[12121],报时服务[12117],森林火警[12119]," \
                    "电力服务[95598],红十字会急救台[999],公安短信报警[12110]," \
                    "通用紧急求救[112],信产部IP/网站备案[010-66411166]"

# 号码百事通功能
def find_phone(keyword):
    phone_list = phone_numbers_str.split(",")
    # 判断keyword 是否在phone_numbers_str字符串中,不在则返回1
    if keyword not in phone_numbers_str:
        return 1
    for p in phone_list:
        if p.find(keyword) != -1:
            print(p)


while True:
    print("1-双色球随机选号")
    print("2-号码百事通")
    print("3-明日天气预报")
    print("0-结束程序")
    c = input("请输入功能编号:")
    if c == "2":
        # 设置while循环,实现重新输入功能
        while True:
            n = input("请输入您要查询的机构或者电话号码:")
            # 当调用find_phone(n)函数返回结果为1时, 即电话号码不存在,
            # 使用continue执行下一次循环重新输入
            # 若条件不成立,即输入的电话号码存在,则使用brak结束循环
            if find_phone(n) == 1:
                print('您输入的电话号码不存在,请重新输入')
                continue
            else:
                break
    elif c == "0":
        break
    else:
        print("您输入的功能编号有误,请重新输入")
    print("============================")
print("感谢您的使用,祝您生活愉快,再见!")

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

0

0 学习 · 8160 问题

查看课程