定义一个函数phoneNo()完成随机生成手机号的功能,传入参数operator(运营商类型,包括四川移洞、四川连通、四川电兴),参数chooseType(选号类型,包括选取靓号、普通选号)。 本题需要使用random模块中的choice函数和randint()函数哦! 手机号要求: 第一位数为:1; 第二位数为:3, 5, 7, 8, 9中的任意一个; 第三位数取决于第二位数: 如果第二位数为3或者8,则第三位数为0-9中的任意一个; 如果第二位数为5,则第三位数为除去4以外的0-9中的任意一个; 如果第二位数为7,则第三位数为除去4,9以外的0-9中的任意一个; 如果第二位数为9,则第三位数为8、9中的任意一个;
时间: 2024-04-04 14:31:48 浏览: 70
浅谈C#手机号换成111XXXX1111 这种显示的解决思路
好的,以下是一个Python的实现:
```python
import random
def phoneNo(operator, chooseType):
# 第一位数为1
phone = "1"
# 第二位数为3, 5, 7, 8, 9中的任意一个
phone += str(random.choice([3, 5, 7, 8, 9]))
# 第三位数
if phone[1] == "3" or phone[1] == "8":
phone += str(random.randint(0, 9))
elif phone[1] == "5":
phone += str(random.choice([0, 1, 2, 3, 5, 6, 7, 8]))
elif phone[1] == "7":
phone += str(random.choice([0, 1, 2, 3, 5, 6, 7, 8]))
while phone[2] == "4" or phone[2] == "9":
phone = phone[:-1] + str(random.choice([0, 1, 2, 3, 5, 6, 7, 8]))
elif phone[1] == "9":
phone += str(random.choice([8, 9]))
# 后七位数
if chooseType == "选取靓号":
phone += str(random.choice([6666666, 8888888, 9999999]))
elif chooseType == "普通选号":
phone += str(random.randint(1000000, 9999999))
else:
return "没有该种选号类型"
return phone
phoneNumber = phoneNo("四川连通", "选取靓号")
print(phoneNumber)
```
该函数按照要求生成前三位数,然后根据参数chooseType生成后七位数。最后,返回生成的手机号。
阅读全文