0
点赞
收藏
分享

微信扫一扫

答案都出来了我还是不懂

ZSACH 2022-02-01 阅读 54
python

定义一个函数phoneNo()完成随机生成手机号的功能,传入参数operator(运营商类型,包括四川移洞、四川连通、四川电兴),chooseType(选号类型,包括选取靓号、普通选号)。本题需要导入random模块,以及使用模块中的randint()函数哦!

手机号要求:
第一位数为:1;

第二位数为:3, 5, 7, 8, 9中的任意一个;

第三位数取决于第二位数:
如果第二位数为3或者8,则第三位数为0-9中的任意一个;
如果第二位数为5,则第三位数为除去4以外的0-9中的任意一个;
如果第二位数为7,则第三位数为除去4,9以外的0-9中的任意一个;
如果第二位数为9,则第三位数为8、9中的任意一个;

第四位数:
如果operator为"四川移洞",则第四位数为5, 7, 8, 9中任意一个;
如果operator为"四川连通",则第四位数为0, 2, 5, 6, 9中任意一个;
如果operator为"四川电兴",则第四位数为3, 7, 9中任意一个;
如果operator为其他字符串,则输出"没有该种营运商类型"。

最后七位:
如果chooseType为"选取靓号",则最后七位为6666666,8888888,9999999中任意一个;
如果chooseType为"普通选号",则最后七位随机生成七位数;
如果chooseType为其他字符串,则输出"没有该种选号类型"。

最后通过参数"四川连通","选取靓号"调用手机号码生成函数phoneNo(),如果生成的num为"19999999999",则输出"我要办理该手机号,号码为:19999999999",否则,输出"该号码不是我想要的号码,我不办理"。

import random
def phoneNo(operation, chooseType):
    ph_mun = "1"
    no2 = random.choice([3, 5, 7, 8, 9])
    if no2 == 3 or no2 == 8:
        no3 = random.choice([0, 1, 2, 3, 4, 5, 6, 7, 8, 9])
    elif no2 == 5:
        no3 = random.choice([0, 1, 2, 3, 5, 6, 7, 8, 9])
    elif no2 == 7:
        no3 = random.choice([0, 1, 2, 3, 5, 6, 7, 8])
    else:
        no3 = random.choice([8, 9])
    no4 = None
    if operation == "四川移洞":
        no4 = random.choice([5, 7, 8, 9])
    elif operation == "四川连通":
        no4 = random.choice([0, 2, 5, 6, 9])
    elif operation == "四川电兴":
        no4 = random.choice([3, 7, 9])
    else:
        print("没有该种营运商类型")
    las7 = None
    if chooseType == "选取":
        las7 = str(random.choice([6666666, 8888888, 9999999]))
    elif chooseType == "普通":
        las7 = ""
        while len(las7) < 7:
            las7 += str(random.randint(0, 9))
    else:
        print("没有该种选号类型")
    ph_mun += str(no2) + str(no3) + str(no4) + las7

    return ph_mun
 


rs = phoneNo("四川连通", "选取")
if rs=="19999999999":
    print("我要办理该手机号,号码为:19999999999")
else:
    print("该号码不是我想要的号码,我不办理")

这道题太难了,找了认识的大佬才做出来的,我现在还是不懂呜呜呜呜,算了留作纪念吧

举报

相关推荐

0 条评论