日报4.18
程序员文章站
2022-03-09 10:05:48
...
用udp客户端实现与网络调试助手的udp服务端亓行聊天功能
写一个无限循环
- 客户端先发消息
- 收后服务端的回应
- 客户再发消息
- 再收回应
写一个udp的服务端
- 绑定端口
- 先收消息,再回消息
写一个tcp的客户端
tcp服务端
tcp通信
客户端
-
创建tcp套接字
tcp_client = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
-
连接服务器
tcp_client.connect((str服务器ip, int端口))
-
客户端先发消息
tcp_client.send(bytes数据)
-
客户端收消息
tcp_client.recv(接收字节数)
-
关闭套接字
tcp_client.close()
random模块
导入
import random
随机整数
包括最大值,不可加步长
random.randint(最小值,最大值)
不包括最大值,但可以给步长
random.randrange(最小值,最大值,步长)
随机选择一个返回
random.choice(列表)
随机取多个返回
随机取多个,返回结果是列表
random.sample(列表,取几个)
打乱顺序
用于洗牌,会改变列表自身数据
random.shuffle(列表)
作业生成验证码
随机生成八位数验证码
提示
利用一下ascii
chr(ascii码值) 可得到 对应的字符
目标,需要获得一个八位的由数字和字母组成的随机验证码
0-9
大写的A-Z 65-90
小写的a-z 97-122
方法一
完全随机
- 做一个列表
- 先取数字
- 取大写字母
- 取小写字线
- 随机取多个
方法二
数字多
num=[0,1,2,3,4,5,6,7,8,9,chr(random.randint(65,90)),chr(random.randint(97,122))]
s=random.sample(num,8)
print(s)
方法三
数字,大写字母,小写字母出现机会均等
import random
i = 0
rand_char = ""
while i < 8:
# 随机一个大写字母
big_char = chr(random.randint(65, 90))
# 随机一个小写字母
small_char = chr(random.randint(97, 122))
# 随机一个整数
int_char = str(random.randint(0,9))
# 三个组成列表
char_list = [big_char, small_char, int_char]
# 从列表中随机出来一个
get_char = random.choice(char_list)
# 重复八次上面的操作
rand_char += get_char
i += 1
print(rand_char)
下一篇: fortran:计算第一类椭圆积分