Basit bir istemci ve sunucu kullanarak python kullanarak bir cellat oyunu yazmaya çalışıyorum. Sunucuyu açıp yuvayı dinledikten sonra istemciye sunucuya bağlanma ve bir mesaj göndererek ve gizli kelime ile cevap veren sunucu, gizli kelimenin harf sayımıyla _ * ile temsil edilen gizli bir kelimeyle yanıt veriyor.Soket Programlama Python Sırasında ve Sorun Var
Soket kullanmayan bir cellat oyunu yazdım, bu yüzden elimde bu var ama sorun işten çıkarılacak ifadeleri kullanamıyorum. Ya hiçbir şey döndürmezler ya da sözdizimi hataları getirirler. İşte bu kadar baş ağrısı neden deyim aslında değil Açıkçası bu
while True:
data = c.recv(1024).decode('utf-8')
if len(data) == 1:
print ("BlaBlaBla")
else:
print ("Bohoohooho")
ise ifadesi
import socket
import random
#Characters and places from HHGTTG to make it a little more difficult
word_list = [ 'agrajag','altairians','android','apple','arthur','beeblebrox',
'betelgeuse','colin','dent','dentrassis','dolphins','eddie','fenchurch',
'ford','galaxy','gargravarr','garkbit','god','golgafrinchans','guide',
'hactar','harmless','hello','hitchhikers','hooloovoo','hyperspace',
'krikkiters','lallafa','laminate','lamuella','magrathea','marvin',
'panic','paranoid','prefect','random','roosta','russell',
'slartibartfast','sorcerer','thor','towel','trillian','vogon','willow',
'zaphod','zarniwoop','zarquon','zem']
lowercase = ['q','w','e','r','t','y','u','i','o','p','l','k','j','h','g','f',
'd','s','a','z','x','c','v','b','n','m']
secret_word = random.choice(word_list)
guesses=0
letters_guessed = []
word = []
#while testing i used this a lot and i have left it in in case you want to cheat as well
#print(secret_word)
for x in range(len(secret_word)):
word.append('_ ')
arthur = ("\n %s"%''.join(word))
def Main():
host = ''
port = 4242
s = socket.socket()
s.bind((host,port))
s.listen(1)
c, addr = s.accept()
print("Connection from: " + str(addr), secret_word)
while True:
data = c.recv(1024).decode('utf-8')
if not data:
break
print("from connected user: " + data)
data = data.upper()
print("sending: " + arthur)
c.send(arthur.encode('utf-8'))
c.close()
if __name__ == '__main__':
Main()
i oyunda kullanacağınız if ve else ifadeleri ise olmaksızın sunucusudur ama bu benim testim ve çalışmıyor. Kontrol ettiğim sözdizimi hataları ile geliyor ve o zaman
İkinci kod parçanızda yanlış bir şey yanlış yok. Buradaki kodun tam olduğundan emin misin? –
Teşekkürler Sadece sıraya dizdim, sözdizimi ile yanlış bir şey yok. Kodu düzenlemek için kullandığım prog idi. – Bridget