Что мне нужно сделать, это отправить операцию на сервер от клиента, затем, в зависимости от этого, сервер выполнит операцию и отправит результат клиенту. Я попытался отследить код и добавил функцию печати в коде сервера. чтобы распечатать операцию, которую он получает от клиента, но она печатает операцию, плюс фактически, я не просил ее напечатать lst
Это код сервера
import socket
ServerSocket = socket.socket()
HostName = socket.gethostname()
Port=1114
ServerSocket.bind((HostName, Port))
ServerSocket.listen()
while True:
Client,Address = ServerSocket.accept()
operation = Client.recv(1024)
sign=operation.decode('ascii')
print(sign)
sum=0
sub=0
div=1
mult=1
lst= Client.recv(1024)
slst = operation.decode('ascii').split(",")
if(sign=='+'):
for j in slst:
sum+=int(j)
sum=str(sum)
Client.send((sum).encode('ascii'))
elif(sign=='-'):
for j in slst:
sub-=int(j)
sub=str(sub)
Client.send((sub).encode('ascii'))
elif (sign== '*'):
for j in slst:
mult *=int(j)
mult=str(mult)
Client.send((mult).encode('ascii'))
elif (sign== '/'):
for j in slst:
div /= float(j)
div=str(div)
Client.send((div).encode('ascii'))
Client.close()
Это код клиента
import socket
ClientSocket = socket.socket()
HostName = socket.gethostname()
Port=1114
ClientSocket.connect((HostName, Port))
operation=input('Operation:')
ClientSocket.send((operation).encode('ascii'))
s='1,2,4,5,7'
ClientSocket.send((s).encode('ascii'))
result = ClientSocket.recv(1024)
result1=result.decode('ascii')
print(result1)
ClientSocket.close()