Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- '''O014 saluti del server perfetto
- Oltre a restituire cio che riceve, aggiungiamo una frase
- fare attenzione all'errore "non concatena byte e stringhe"
- infatti in Python 3 i dati sono in unicode e occorre codificarli
- con il metodo str.encode('testo')
- NOTA se lanciato due volte consecutive, rileva la porta occupata quando si usa telnet
- si deve cambiare la porta quando lo si rilancia
- sulla powershell scrivere: telnet localhost 8888
- '''
- import socket
- import tkinter
- import turtle
- import random
- from tkinter import messagebox
- def funzione_disegno(n):
- t=turtle.Turtle()
- t.penup()
- t.goto(-390,350)
- t.pendown()
- t.pencolor('purple')
- t.write("Verrano riprodotti ",font=("comic sans MS", 28, "normal"))
- t.penup()
- t.goto(-60,350)
- t.pendown()
- t.write(n,font=("comic sans MS", 28, "normal"))
- t.penup()
- t.goto(0,350)
- t.pendown()
- t.write(" poligoni con ",font=("comic sans MS", 28, "normal"))
- t.penup()
- t.goto(270,350)
- t.pendown()
- t.write(n,font=("comic sans MS", 28, "normal"))
- t.penup()
- t.goto(310,350)
- t.pendown()
- t.write(" lati ",font=("comic sans MS", 28, "normal"))
- for k in range (n):
- colore='#'
- colore1='#'
- scelta=['1','2','3','4','5','6','7','8','9','A','B','C','D','E','F']
- for k in range(6):
- colori=random.choice(scelta)
- colore=colore+colori
- colori1=random.choice(scelta)
- colore1=colore1+colori1
- t.pensize('3')
- t.penup()
- x=random.randint(-300, 300)
- y=random.randint(-300, 300)
- t.goto(x, y)
- t.pendown()
- t.color(colore,colore1)
- t.begin_fill()
- for k in range(n):
- angolo=360/n
- t.forward(90)
- t.right(angolo)
- t.end_fill()
- def definizione():
- messagebox.showinfo("curiosità",'caxxo')
- host = '' # indica un nome simbolico disponibile per tutte le interfacce
- porta = 8888 # una porta qualunque - sicuramente maggiore di 1024
- collego = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
- collego.bind((host,porta)) #ATTENZIONE parentesi doppie
- collego.listen(5) # accetta al massimo 5 connessioni
- connessione, indirizzo = collego.accept()
- print('Connesso con \n {} \n {}'.format(connessione,indirizzo))
- messagebox.showinfo("attention sil vouz plait",'ho creato un socket che ho chiamato "collego" \n creato il bind (collegamento)\n Il socket collego è ora in ascolto')
- data = connessione.recv(1024)
- dati=str.encode(' Saluti dal server hai scritto : ') + data
- connessione.sendall(dati)
- finestra=tkinter.Tk()
- finestra.geometry('800x400')
- finestra['bg']='maroon'
- finestra.title='numero perfetto'
- titolo=tkinter.Label(finestra,
- fg='maroon',
- bg='navajo white',
- font=("comic sans ms",27),
- text='NUMERO PERFETTO')
- titolo.grid(column=1, row=0)
- inserisci=tkinter.Label(finestra,
- fg='navajo white',
- bg='maroon',
- font=("comic sans ms",27),
- text=' Saluti dal server hai scritto : ')
- inserisci.grid(column=1, row=1)
- numero=tkinter.Label(finestra,
- fg='navajo white',
- bg='maroon',
- font=("comic sans ms",27),
- text=data)
- numero.grid(column=2, row=1)
- somma=0
- numero=int(data)
- for k in range(1,numero):
- if numero%k==0:
- somma=somma+k
- if (somma+numero)==(numero*2):
- a=' PERFETTO'
- else:
- a=' NON PERFETTO'
- label=tkinter.Label(finestra,
- fg='navajo white',
- bg='maroon',
- font=("comic sans ms",27),
- text=('il numero inserito è:' +a))
- label.grid(column=1 ,row=3)
- spazio=tkinter.Label(finestra,
- fg='navajo white',
- bg='maroon')
- spazio.grid(column=2, row=4)
- bottone=tkinter.Button(finestra,
- fg='maroon',
- bg='navajo white',
- command=definizione,
- font=("comic sans ms",27),
- text=('ta ta ta ta...curiosità'))
- bottone.grid(column=1,row=5)
- funzione_disegno(int(data))
- connessione.close()
- collego.close()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement