电子词典
电子阅读器内置有词典功能,遇到生词可即时查询。 #生活乐趣# #阅读乐趣# #电子阅读#
#!/usr/bin/env python3
#coding=utf-8
from socket import *
import sys
import getpass
def main():
if len(sys.argv) < 3:
print('argv is error')
return
HOST = sys.argv[1]
PORT = int(sys.argv[2])
s = socket()
s.connect((HOST,PORT))
while True:
print('''
==========Welcome=========
--1.注册 2.登录 3.退出--
==========================
''')
try:
cmd = int(input("输入选项(1,2or3)>>"))
except Exception:
print("命令错误")
continue
if cmd not in [1,2,3]:
print("请输入正确选项")
sys.stdin.flush() #清除标准输入
continue
elif cmd == 1:
if do_register(s) == 0:
print("注册成功!")
else:
print("注册失败!")
elif cmd == 2:
name = do_login(s)
if name != 1:
print("登录成功!")
login(s,name)
else:
print("登录失败!")
elif cmd == 3:
s.send(b'E')
sys.exit("谢谢使用")
def do_register(s):
while True:
name = input("User:")
passwd = getpass.getpass()
passwd1 = getpass.getpass("Confirm:")
if (' ' in name) or (' ' in passwd):
print('用户名或密码不许有空格')
continue
if passwd != passwd1:
print("密码不一致")
continue
msg = 'R {} {}'.format(name,passwd)
#发送请求
s.send(msg.encode())
#收到回复
data = s.recv(128).decode()
if data == 'OK':
return 0
elif data == "EXISTS":
print("用户已存在")
return 1
else:
return 1
def do_login(s):
name = input("User:")
passwd = getpass.getpass()
msg = "L {} {}".format(name,passwd)
s.send(msg.encode())
data = s.recv(128).decode()
if data == 'OK':
return name
else:
print("用户名或密码不正确")
return 1
def do_query(s,name):
while True:
word = input("单词:")
if word == '##':
break
msg = 'Q {} {}'.format(name,word)
s.send(msg.encode())
data = s.recv(128).decode()
if data == 'OK':
data = s.recv(2048).decode()
print(data)
else:
print("没有找到该单词")
def do_history(s,name):
msg = 'H {}'.format(name)
s.send(msg.encode())
data = s.recv(128).decode()
if data == 'OK':
while True:
data = s.recv(1024).decode()
if data == '##':
break
print(data)
else:
print('没有历史记录')
def login(s,name):
while True:
print('''
==============查询界面===========
--1.查词 2.历史记录 3.退出--
================================
''')
try:
cmd = int(input("输入选项(1,2or3)>>"))
except Exception:
print("命令错误")
continue
if cmd not in [1,2,3]:
print("请输入正确选项")
sys.stdin.flush() #清除标准输入
continue
elif cmd == 1:
do_query(s,name)
elif cmd == 2:
do_history(s,name)
elif cmd == 3:
return
if __name__ == "__main__":
main()
网址:电子词典 https://www.yuejiaxmz.com/news/view/94319
相关内容
大仲马美食词典(壹力文库)【全本生活电器广告词精选
连队生活小词典
妙组词
有关厨房电器的广告词
掌组词
爱词霸
电子维修是什么
【饲养】饲养的近义词
8个情感生活感悟经典句子,句句经典走心