Jump to content

Search the Community

Showing results for tags 'python'.

  • Search By Tags

    Type tags separated by commas.
  • Search By Author

Content Type


Forums

  • Comunidade
    • Sugestões, Críticas ou Dúvidas relativas ao P@P
    • Acerca do P@P
  • Comunidade a Trabalhar
    • Apresentação de Projectos de Programação
    • Downloads
    • Revista PROGRAMAR
  • Desenvolvimento Geral
    • C
    • C++
    • Java
    • Pascal
    • Python
    • Bases de Dados
    • Dispositivos Móveis
    • Outras Linguagens
  • Desenvolvimento Orientado para Web
    • PHP
    • HTML
    • CSS
    • Javascript
    • Outras Linguagens de WebDevelopment
    • Desenvolvimento Web
  • Desenvolvimento .NET
    • C#
    • Visual Basic .NET
    • ASP.NET
    • WPF & SilverLight
  • Software e Sistemas Operativos
    • Software de Produtividade
    • Sistemas Operativos
    • Apresentação de Software
  • Informática
    • Interfaces Visuais
    • Computação Gráfica
    • Algoritmia e Lógica
    • Segurança e Redes
    • Hardware
    • Electrónica e Automação Industrial
    • Matemática
    • Software de Contabilidade e Finanças
    • Dúvidas e Discussão de Programação
  • Outras Áreas
    • Notícias de Tecnologia
    • Dúvidas Gerais
    • Discussão Geral
    • Eventos
    • Anúncios de Emprego
    • Tutoriais
    • Snippets / Armazém de Código
  • Arquivo Morto
    • Projectos Descontinuados
    • System Empires

Blogs

  • Blog dos Moderadores
  • Eventos
  • Notícias de Tecnologia
  • Blog do Staff
  • Revista PROGRAMAR
  • Projectos
  • Wiki

Categories

  • Revista PROGRAMAR
  • Tutoriais
  • Textos Académicos
  • Exercícios Académicos
    • Exercícios c/ Solução
    • Exercícios s/ Solução
  • Bibliotecas e Aplicações
  • Outros

Find results in...

Find results that contain...


Date Created

  • Start

    End


Last Updated

  • Start

    End


Filter by number of...

Joined

  • Start

    End


Group


Website


GitHub


LinkedIn


Twitter


Facebook

  1. Olá, Eu estou a tentar fazer um coherence vector (https://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.31.1421&rep=rep1&type=pdf) para um pequeno dataset. Eu já fiz o "principal", mas estou a ter alguns problemas. Por exemplo, eu calculei o número de componentes conexas, mas dá-me sempre que o número dessas componentes é 1, o que não é suposto. Outra coisa que não estou a conseguir é calcular o número e coherent pixels e de incoherent pixels. Abaixo está o meu código atual. Obrigada! import numpy as np import matplotlib.pyplot as plt import cv2 import glob import os import PIL import skimage from skimage import measure from PIL import Image from scipy import ndimage import seaborn as sns #For the joint plots from sklearn.cluster import KMeans # For the 3D color histograms #import io #from color_histogram.io_util.image import loadRGB #from color_histogram.core.hist_3d import Hist3D #import matplotlib.pyplot as plt from mpl_toolkits.mplot3d import Axes3D #Read the images data = [cv2.imread(file) for file in glob.glob("CBIR/*.png")] #ALWAYS remember: vectorize the code # A function that will help us to compute the similarity between # two images, to create a color coherence vector def measure_coherence(con_im1, non_con_im1, con_im2, non_con_im2, num_bins): # con_im1: connected components of the query image # non_con_im1 = total_im1 - con_im_1 <=> non-connected components with the image to be compared # con_im2: connected components of the image to be compared # non_con_im2 = total_im1 - con_im_2 <=> non-connected components to the image to be compared # num_bins: number of bins of the histogram # Distance for i in range(num_bins): dist = np.abs(con_im1 - non_con_im1) + np.abs(con_im2 - non_con_im2) print(dist) def measure_histogram(hist1, hist2): return None def colorCoherenceVector(img, nbins): #percent: The percentage of the image size to consider a component's pixels are coherent (default = 1%) # 1) Blur the image by replacing pixel values with the average value # in an 8-neighbourhood img_blurred = cv2.blur(img, (3, 3)) #color_vector = vector # 2) Image shape width, height = img.shape[1], img.shape[0] print('Width = ', width, 'Height = ', height) #Image size size = width * height print('Size = ', size) # 3) Reshape the image arr = img_blurred.reshape((-1, 3)) # 3) Quantize colorspace in a way that there are only 'n' different colors #We are going to use KMeans to do this ''' n_colors = 10 #number of colors we want in our histogram kmeans = KMeans(n_clusters = n_colors, random_state = 0).fit(arr) labels = kmeans.labels_ centers = kmeans.cluster_centers_ print('labels:', labels.shape, labels) print('centers:', centers.shape, centers) less_colors = centers[labels].reshape(img_blurred.shape).astype('uint8') cv2.imshow(less_colors) ''' # se queremos que no final tenha 27 bins, nbins=3 # -------------------------------8--------------2 # ------------------------------nbins------n_bins**(1/3) print(img_blurred.shape) h, edges = np.histogramdd(arr, nbins) print('edges:', len(edges), edges) img2 = np.zeros_like(img_blurred) for i in range(nbins): # Image is read as BGR #blue img2[:, :, 0][np.logical_and(img_blurred[:, :, 0] >= edges[0][i], img_blurred[:, :, 0] <= edges[0][i+1])] = i # green img2[:, :, 1][np.logical_and(img_blurred[:, :, 1] >= edges[1][i], img_blurred[:, :, 1] <= edges[1][i+1])] = i # red img2[:, :, 2][np.logical_and(img_blurred[:, :, 2] >= edges[2][i], img_blurred[:, :, 2] <= edges[2][i+1])] = i print(img2.min(), img2.max()) plt.subplot(1, 2, 1) plt.imshow(img_blurred) plt.subplot(1, 2, 2) plt.imshow(img2/2) plt.show() """ Not needed # 4) Classify the pixels as coherent or inchoerent # 4.1)Computing a connected component C for each distinct color #labeled, nr_objects = [ndimage.label(img_blurred[i] > threshold) for i in range(h.shape)] # 4.2) Detemine tau's value # Number of levels we want to have in our quantized image # Usually it is 1% of image's size, but that's already too much, because # the size of our image is 512^2. Let's assume tau = 10 #tau = 10 #print('Tau = ', tau) """ # 4.3) C is coherent if the size of C exceeds a tau, otherwise C is incoherent #connected_components = 0 labeled, nr_objects = ndimage.label(img_blurred) print('Number of connected components is {}'.format(nr_objects)) #connect_regions, num = skimage.measure.label(img2, connectivity = 2) #print(connect_regions) #print('Number of connected components = ', num) # 5) Rank retrieved images according to their similarity with the query image # For that we are going to compute a measure of similarity between two images (for each bin) # with the help of the function we created at the beginning #We'll do this for every image ''' for i in range(len(data)): similarity = measure_coherence(con_im1, non_con_im1, con_im2, non_con_im2, num_bins) ''' print('----------------------------------------------------------------------') def colorHistogram(img): ''' #w, h = img.shape[1], img.shape[0] #colors = img.getcolors(w*h) sns.jointplot(data = data, x = "Intensity", y = "Nº of times") ''' ''' hist3D = Hist3D(img, num_bins=16, color_space='rgb') fig = plt.figure() ax = fig.add_subplot(111, projection='3d') hist3D.plot(ax) plt.show() ''' fig = plt.figure() ax = fig.add_subplot(111, projection='3d') x, y = np.random.rand(2, 100) * 4 hist, xedges, yedges = np.histogram2d(x, y, bins=4, range=[[0, 255], [0, 255]]) # Construct arrays for the anchor positions of the 16 bars. # Note: np.meshgrid gives arrays in (ny, nx) so we use 'F' to flatten xpos, # ypos in column-major order. For numpy >= 1.7, we could instead call meshgrid # with indexing='ij'. xpos, ypos = np.meshgrid(xedges[:-1] + 0.25, yedges[:-1] + 0.25) xpos = xpos.flatten('F') ypos = ypos.flatten('F') zpos = np.zeros_like(xpos) # Construct arrays with the dimensions for the 16 bars. dx = 0.5 * np.ones_like(zpos) dy = dx.copy() dz = hist.flatten() ax.bar3d(xpos, ypos, zpos, dx, dy, dz, color='b', zsort='average') plt.show() #Compute the distance 'between histograms' # Create a 'vector of similar images' #Ask the user for the Query image while True: #descriptor = input('Enter color descriptor or [C]ancel: ') query_img = input('Enter query image or [C]ancel: ') #Answer is a string colorCoherenceVector(data[int(query_img)], 2) colorHistogram(data[int(query_img)]) #if descriptor.upper() == 'C' or query_img.upper() == 'C': if query_img.upper() == 'C': break
  2. Boas noite, há uns dias que ando a aprender a programar python com a biblioteca do "opencv", pois achei engraçado. Mas sendo sincero não percebo basicamente quase nada disto, e queria tentar fazer um programa "simples", que seria de detecção de movimento e Caso exista movimento tem de disparar um alarme sonoro e marcar um frame a zona onde o movimento aconteceu. Mas até agora pelo pouco que consigo é só ligar a câmara 😆. Isto foi o pouco que consigo até agora... import cv2 import numpy as np cap = cv2.VideoCapture(0) while(True): _, frame = cap.read() cv2.imshow('frame',frame) k = cv2.waitKey(5) & 0xFF if k == 27: break
  3. Estou a fazer um programa simples, com tabelas, em python. Eu queria que os dados inseridos aparecessem organizados numa tabela, mas quando dou run, os dados aparecem me em 12 tabelas diferentes. Código: from tabulate import tabulate years=[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12] C1=int(input("Indique o capital inicial:")) r=int(input("Indique a taxa de juro:")) for n in years: s=r*0.01 Cf=C1*(1+s)**n table=[['Tempo (em anos)', 'Capital Final (em €)'],[n , Cf]] print(tabulate(table, tablefmt="fancy_grid", headers="firstrow"))
  4. import pyautogui import time # se o mouse ficar sem mexer depois de 5 minutos o programa irá executar #entrar na aréa de trabalho pyautogui.hotkey('winleft','d') time.sleep(0.2) # posicionar o mouse e abrir o programa pyautogui.doubleClick(119,154) #se o mouse mexer o programa irá parar #se o mouse ficar 5 minutos sem mexer o programa voltará a executar #criar um loop para isso
  5. Boas, alguém percebe porque e que neste loop ele passa sempre a ultima var b. Eu pretendo que ele passe o id do butao b de modo a poder altera-lo com um config noutra function buttonslst=[] #aqui comeca um for loop b = tk.Button(frm_txt_json_case_btn, width="30", height=3, text=str(titulo+" "+cherep), fg=fcolor,relief=relifst, borderwidth=4,command=lambda titulo=titulo: ChangConfWI(titulo)) b.grid(column=colcount, row=rowcount, padx=10, pady=5) buttonslst.append(b) #vamos chamar a este o botao mestre tk.Button(frm_but_oknot, width="15", text="OK", image=photoOK, command=lambda assumirrow=assumirrow: savetoxls(buttonslst[int(assumirrowr)-8])).grid( column=0, row=0, padx=1, pady=15) eu preciso de passar o id fo butao b quando clico no "butao mestre" assumirrow é um contador, dai estar a usar para ir buscar a lista
  6. Boa tarde Tenho de criar uma função para calcular o tempo que um repetidor leva a contar números inteiros de 1 até 100 000 000 (100 milhões) Tive a ideia de fazer um repetidor FOR mas não sei fazer a contagem do tempo e nem sei se é possível fazer uma estimativa sem que seja preciso fazer o repetidor ir de 1 até 100 000 000 milhões, Existe algum atalho que me permita obter o output mais cedo ou tenho mesmo de fazer o FOR de 1 até 100 000 000 e esperar? Ainda que tenha de esperar qual método do python me permite ir contando o tempo, Tenho estado a estudar a função time só que ainda não se fez luz. Segue o código que tenho feito até este momento. def calcular_tempo(): for i in range (1, 100000000): print (i) calcular_tempo()
  7. vocês conhecem algum conversor da linguagem c para Python? sei que são bem semelhantes, porém não estou compreendendo como fazer alterações para transforma-lo. por favor, se alguém conseguir me ajudar, eu agradeço 💕 #include <iostream> #include <string.h> int main (){ int i; char telefone[20]; char ch; i=0 while((ch=getchar ())) 1='\n') ( if (ch=='-')telefone[1]='-'; else if (ch >=48 && ch <=57) telefone [i]=ch; else if (ch >=65 && ch <=67) telefone [i]='2'; else if (ch >=68 && ch <=70) telefone [i]='3'; else if (ch >=71 && ch <=73) telefone [i]='4'; else if (ch >=74 && ch <=76) telefone [i]='5'; else if (ch >=77 && ch <=79) telefone [i]='6'; else if (ch >=80 && ch <=83) telefone [i]='7'; else if (ch >=84 && ch <=86) telefone [i]='8'; else if (ch >=87 && ch <=90) telefone [i]='9'; i++; } telefone[i]='\0'; printf("%s", telefone); return(0); }
  8. #include <iostream> #include <string.h> int main (){ int i; char telefone[20]; char ch; i=0 while((ch=getchar ())) 1='\n') ( if (ch=='-')telefone[1]='-'; else if (ch >=48 && ch <=57) telefone [i]=ch; else if (ch >=65 && ch <=67) telefone [i]='2'; else if (ch >=68 && ch <=70) telefone [i]='3'; else if (ch >=71 && ch <=73) telefone [i]='4'; else if (ch >=74 && ch <=76) telefone [i]='5'; else if (ch >=77 && ch <=79) telefone [i]='6'; else if (ch >=80 && ch <=83) telefone [i]='7'; else if (ch >=84 && ch <=86) telefone [i]='8'; else if (ch >=87 && ch <=90) telefone [i]='9'; i++; } telefone[i]='\0'; printf("%s", telefone); return(0); }
  9. #include <stdio.h> #include <stdlib.h> #include <time.h> struct frame { char b1,b2; int ball1,ball2,score; }; int ball(int pins) { int jogada; printf("Entre com a pontuação da jogada: "); scanf("%d", &jogada); return jogada; } void get_frame(struct frame *f) { f->ball1 = ball(10); if(f->ball1==10) { f->ball2 = 0; f->b1 = ' '; f->b2 = 'X'; f->score = 10; return; } f->ball2 = ball(10 - f->ball1); f->score = f->ball1 + f->ball2; f->b1 = f->ball1 ? '0' + f->ball1 : '-'; f->b2 = f->ball2 ? '0' + f->ball2 : '-'; if( f->score==10 ) f->b2 = '/'; } int main() { struct frame game[12]; int x,score; srand((unsigned)time(NULL)); score = 0; /* Simulate 12 potential frames */ for(x=0;x<12;x++) get_frame(&game[x]); /* properly calculate the scores */ for(x=0;x<10;x++) { if( game[x].b2 == 'X' ) { if( game[x+1].b2 == 'X' ) score += 10 + game[x+1].ball1 + game[x+2].ball1; else score += 10 + game[x+1].score; } else if( game[x].b2 == '/' ) score += 10 + game[x+1].ball1; else score += game[x].score; game[x].score = score; } /* Display first row, frame numbers */ for(x=0;x<10;x++) printf(" %2d ",x+1); putchar('\n'); /* Second row, balls rolled */ for(x=0;x<9;x++) { if( game[x].b2 == 'X') printf("| |X"); else printf("| %c|%c",game[x].b1,game[x].b2); } /* Special output for 10th frame */ if( game[x].b2 == 'X') { if( game[x+1].b2 == 'X') { if( game[x+2].b2 == 'X') printf("| X|X|X|\n"); else printf("| X|X|%c|\n",game[x+2].b1); } else printf("| X|%c|%c|\n",game[x+1].b1,game[x+1].b2); } else if( game[x].b2 == '/') { if( game[x+1].b2 == 'X') printf("| %c|/|X|\n",game[x].b1); else printf("| %c|/|%c|\n",game[x].b1,game[x+1].b1); } else printf("| %c|%c| |\n",game[x].b1,game[x].b2); /* Third row, scores */ for(x=0;x<9;x++) { printf("| %3d",game[x].score); } printf("| %3d |\n",game[x].score); return(0); }
  10. ola boa tarde foi me pedido para realizar um jogo da sueca com as regras basicas em python, eu tenho muita dificuldade em codigo, poderiam me ajudar? obrigado desde já.
  11. Boa tarde, Ultimamente tenho tido um problema com a ftplib , para fazer upload de files para o servidor ftp. Dá sempre o mesmo erro! import ftplib import ftplib FTP_HOST = "ftp://192.168.1.4:4552/" FTP_USER = "anonymous" FTP_PASS = "xxxxxxxxxxxxxxx" ftp = ftplib.FTP(FTP_HOST, FTP_USER, FTP_PASS) ftp.encoding = "utf-8" blockfile = open('block.txt','a') blockfile.close() with open(filename, "rb") as file: ftp.storbinary(blockfile, file) Como posso resolver?
  12. Estou a aprender python há relativamente pouco tempo. No âmbito de um projeto académico, foi-nos proposta a construção de um grafo que relaciona as interações entre utilizadores nas redes sociais, sem o recurso a módulos/bibliotecas do python. Até à data já temos as classes vértice, aresta e grafo concluídas e conseguimos inserir todos os elementos no grafo. Contudo, quando tentamos determinar o caminho mais curto entre dois vértices, os métodos que implementámos ou não retornam qualquer resultado ou retornam o erro e não conseguimos entender o que está errado. """Modules""" import csv # == Class Vertex == # class Vertex: """Estrutura de Nó para um grafo: um elemento que é o identificador deste nó""" __slots__ = "_element", "neighbors" def __init__(self, x): """O vértice será inserido no Grafo usando o método insert_vertex(x) que cria um Vertex""" self._element = x self.neighbors = list() def vertice(self): """Devolve o nome deste vértice; esconde o verdadeiro identificador do atributo""" return self._element def add_neighbor(self, v): if v not in self.neighbors: self.neighbors.append(v) self.neighbors.sort() """Comparação de vértices""" def __eq__(self, other): if isinstance(other, Vertex): return self._element == other.vertice() return False def __repr__(self): return '{0}'.format(self._element) def __hash__(self): """Referência de memória (usada por causa das keys dos dicionários)""" return hash(id(self)) # devolve um inteiro que identifica este vértice como uma chave num dicionário # == Class Edge == # class Edge: """Estrutura de Aresta para um Grafo: (origem, destino) e seu peso """ __slots__ = '_origin', '_destination', '_weight' def __init__(self, u, v, p=None): self._origin = u self._destination = v self._weight = p def __hash__(self): # para associar a aresta a uma chave para um dicionário return hash((self._origin, self._destination)) def __repr__(self): if self._weight is None: return '({0}, {1})'.format(self._origin, self._destination) return '({0}, {1}, {2})'.format(self._origin, self._destination, self._weight) def endpoints(self): """Return (u,v) tuple for vertices u and v.""" return self._origin, self._destination def opposite(self, v): """Return the vertex that is opposite v on this edge.""" return self._origin if v is self._destination else self._origin def cost(self): """Return the value associated with this edge.""" return self._weight def show_edge(self): print('(', self._origin, ', ', self._destination, ') com peso', self._weight) # == Class Graph == # class Graph: '''Representação de um grafo usando mapeamentos de adjacências (associações) com dictionaries''' def __init__(self, directed=False): '''Cria um grafo vazio (dicionário de _vertices); é orientado se o parâmetro directed tiver o valor True''' self._directed = directed self._number = 0 # quantidade de nós no Grafo self._vertices = {} # dicionário com chave vértice e valor dicionário de adjacências def __getitem__(self, arg): return self._vertices[arg] def insert_vertex(self, x): '''Insere e devolve um novo vértice com o elemento x''' v = Vertex(x) self._vertices[v] = {} # inicializa o dicionário de adjacências a vazio self._number = len(self._vertices) return v def insert_edge(self, u, v, x=None): '''Cria u e v e insere e devolve uma nova aresta entre u e v com peso x''' e = Edge(u, v, x) self._vertices[u][v] = e # vai colocar nas adjacências de u self._vertices[v][u] = e # e nas adjacências de v (para facilitar a procura de todos os arcos incidentes) def incident_edges(self, v, outgoing=True): '''Gerador: indica todas as arestas (outgoing) incidentes em v Se for um grafo dirigido e outgoing for False, devolve as arestas em incoming ''' for edge in self._vertices[v].values(): # para todas as arestas relativas a v: if not self._directed: yield edge else: # senão deve ir procurar em todas as arestas para saber quais entram ou saiem x, y = edge.endpoints() if (outgoing and x == v) or (not outgoing and y == v): yield edge def is_directed(self): '''com base na criação original da instância, devolve True se o Grafo é dirigido; False senão ''' return self._directed # True se os dois contentores são distintos def vertex_count(self): '''Devolve a quantidade de vértices no grafo''' return self._number def vertices(self): '''Devolve um iterável sobre todos os vértices do Grafo''' return self._vertices.keys() def edge_count(self): '''Devolve a quantidade de arestas do Grafo''' total = sum(len(self._vertices[v]) for v in self._vertices) # for undirected graphs, make sure not to double-count edges return total if self._directed else total // 2 def edges(self): '''Devolve o conjunto de todas as arestas do Grafo''' result = set() # avoid double-reporting edges in undirected graph for secondary_map in self._vertices.values(): result.update(secondary_map.values()) # add edges to resulting set return result def get_edge(self, u, v): '''Devolve a aresta que liga u e v ou None se não forem adjacentes''' edge = self._vertices[u].get(v) # returns None se não existir aresta alguma entre u e v if edge != None and self._directed: # se é dirigido _, x = edge.endpoints # vai confirmar se é u --> v if x != v: edge = None return edge def degree(self, v, outgoing=True): '''quantidade de arestas incidentes no vértice v Se for um grafo dirigido, conta apenas as arestas outcoming ou em incoming, de acordo com o valor de outgoing ''' adj = self._vertices if not self._directed: count = len(adj[v]) else: count = 0 for edge in adj[v].values(): x, y = edge.endpoints() if (outgoing and x == v) or (not outgoing and y == v): count += 1 return count def remove_edge(self, u, v): '''Remove a aresta entre u e v ''' if u in self._vertices.keys() and v in self._vertices[u].keys(): del self._vertices[u][v] del self._vertices[v][u] def remove_vertex(self, v): '''remove o vértice v''' # remover todas as arestas de [v] # remover todas as arestas com v noutros vertices # remover o vértice if v in self._vertices.keys(): lst = [i for i in self.incident_edges(v)] for i in lst: x, y = i.endpoints() self.remove_edge(x,y) del self._vertices[v] #return v def __repr__(self): """TODO: A Implementar""" res = "nodes: " ''' for node in self.vertices(): res += str(node) + " " res += "\nedges: " ''' for edge in self.edges(): res += str(edge) + " " return res def printG(self): '''Mostra o grafo por linhas''' print('Grafo orientado:', self._directed) for v in self.vertices(): print('\nvertex ', v, ' grau_in: ', self.degree(v,False), end=' ') if self._directed: print('grau_out: ', self.degree(v, False)) for i in self.incident_edges(v): print(' ', i, end=' ') if self._directed: for i in self.incident_edges(v, False): print(' ', i, end=' ') def read_csv(filename): graph = Graph() with open(filename, 'r') as csv_file: data = csv.reader(csv_file) next(data) for linha in data: id_origem = linha[0] id_destino = linha[1] peso = linha[2] if len(linha) > 2 else 1 # None v_origem = graph.insert_vertex(id_origem) v_destino = graph.insert_vertex(id_destino) graph.insert_edge(v_origem, v_destino, peso) return graph read_csv("Data_Facebook.csv") """ 5. Implementação de métodos para determinar caminhos mais curtos num grafo """ """(a) sem usar os pesos nas arestas)""" def shortest_path(graph, start, goal): explored = [] queue = [[start]] if start == goal: print("Same Node") return while queue: path = queue.pop(0) node = path[-1] if node not in explored: neighbours = graph._vertices for neighbour in neighbours: new_path = list(path) new_path.append(neighbour) queue.append(new_path) if neighbour == goal: print("Shortest path = ", *new_path) return explored.append(node) print("So sorry, but a connecting path doesn't exist :(") return """ (b) usando os pesos nas arestas""" def dijkstra(graph, start, goal): shortest_distance = {} predecessor = {} unseenNodes = graph infinity = 9999999 path = [] for node in unseenNodes: shortest_distance[node] = infinity shortest_distance[start] = 0 while unseenNodes: minNode = None for node in unseenNodes: if minNode is None: minNode = node elif shortest_distance[node] < shortest_distance[minNode]: minNode = node for childNode, weight in graph[minNode].items(): if weight + shortest_distance[minNode] < shortest_distance[childNode]: shortest_distance[childNode] = weight + shortest_distance[minNode] predecessor[childNode] = minNode unseenNodes.pop(minNode) currentNode = goal while currentNode != start: try: path.insert(0, currentNode) currentNode = predecessor[currentNode] except KeyError: print('Path not reachable') break path.insert(0, start) if shortest_distance[goal] != infinity: print('Shortest distance is ' + str(shortest_distance[goal])) print('And the path is ' + str(path)) """ """ #print(shortest_path(graph, '1563', '1564')) Alguém pode ajudar o que está errado tanto no método shortest_path() como no método dijkstra()? Obrigada,
  13. Bom dia, preciso escrever um código que apresente ao usuário um meno dando opções de cadastrar, listar, comprar produtos, visualizar o carrinho e sair da aplicação. Porém, preciso que ao adicionar um produto no carrinho, verificar se ele já está presente no carrinho, e caso esteja, mudar apenas sua quantidade, sem adicioná-lo novamente ao carrinho. Meu código está assim, alguém pode me ajudar nessa parte de mudar apenas a quantidade? escolha=0 lista=[] while escolha !="0": print("Menu") print("0 - Fim") print("1 - Cadastro de Produtos") print("2 - Lista de Produtos") print("3 - Confirmação do Produto") print("4 - Total") escolha = input("Escolha uma opção:") if escolha == 0: escolha = input("Tem certeza que quer finalizar o programa? 0 - Sim , 5 - Não") if escolha == 1: print("Cadastrando produto") produto = input("Escolha o nome do produto:") quantidade = input("Escolha a quantidade do produto:") if escolha=="2": print("Exibindo produtos...") contador=0 for produto in lista: print(contador,"#",produto[0]," ",produto[1],"-",produto[2]) contador=contador+1 if escolha=="3": print("Confirmando produto...") posicao=input("Digite a posição do produto:") posicao_int=int(posicao) preco=input("Digite o preco do "+lista[posicao_int][1] +":") lista[posicao_int][0]="OK" lista[posicao_int][3]=preco if escolha=="4": print("Mostrando Todos Produtos...") print("Produtos que não foram comprados...") contador=0 for produto in lista: if produto[0]=="": print(contador,"#",produto[0]," ",produto[1],"-",produto[2], "R$", produto[3]) contador=contador+1 print("Produtos que foram comprados...") contador=0 precototal=0 for produto in lista: if produto[0]=="OK": print(contador,"#",produto[0]," ",produto[1],"-",produto[2], "R$", produto[3]) contador=contador+1 precototal=precototal+int(produto[2])*float(produto[3]) print("Preco Total: R$",precototal) print("Fim do programa!")
  14. Viva, Como posso converter ficheiros py para ui? É possível, ou existe uma outra solução? Sinto esta necessidade, uma vez que, por vezes ao trabalhar com o ficheiro py preciso de acrescentar outros objetos (botões, checkbox etc) e isso no qt Designer é bem mais simples de se fazer. O que acontece, é que ao abrir o ficheiro .ui, as alterações que entretanto tinham sido feitas no respetivo ficheiro .py desaparecem... Obrigado 😉
  15. Olá, Infelizmente o pip install não funciona no cmd . Tenho uma vaga ideia que o python possa não ter instalado automaticamente o pip, com este problema em mãos decidi pesquisar e encontrei um resultado que dizia que tínhamos de instalar: setuptools de um binário próprio do windows e pip de um binário próprio do windows, mesmo assim dá sempre aquele erro clássico ('pip', não é reconhecido como um comando interno ou externo, etc.. . Preciso de resolver este problema rápidamente para poder trabalhar com Bluetooth ou PyBluez. Versão: Python 3.2 Como posso resolver ?
  16. Boa tarde, Estou com dificuldade em calcular o cumprimento de um objeto em python. É me fornecido o a velocidade em km/h e o pulse.
  17. Bom dia, Alguém tem alguma ideia como ler um ficheiro binário com extensão .VTF em python e converter o seu conteúdo para string?
  18. Olá, Começei a fazer um MP3 Player (ou MP3 Media Player), mas eu não consigo ouvir a música. Ou seja eu fiz o MP3 Player e depois run, e quando eu cliquei no botão de Play/Pausepara começar a música nada acontece, mas a música está a tocar, ou seja eu não tenho permissão para ouvir a música mas a música está a tocar. Como posso resolver ? Libs: Tkinter, Pygame Aqui está o código: # import from tkinter import * import pygame import os root = Tk() root.title('MP3 Media Player') root.geometry('500x300') def play_pause(): global n n=n+1 if n==1: song_name=playlist_box.get() pygame.mixer.music.load(song_name) pygame.mixer.play(0) print("Music started") elif (n%2)==0: pygame.mixer.music.pause() print("Paused") elif (n%2)!=0: pygame.mixer.music.unpause() print("unPaused") l1=Label(root,text="MP3 Music Player",font="times 20") l1.grid(row=1,column=1) b2=Button(root,text="Play/Pause",width=20, command=play_pause) b2.grid(row=4,column=1) playlist=os.listdir() playlist_box=StringVar(root) playlist_box.set('Select Songs') menu=OptionMenu(root,playlist_box,*playlist) menu.grid(row=4,column=4) root.mainloop()
  19. Boas, Ando a usar o Tkinter, mas quando eu executo aparece a janela vazia, tenho o seguinte código: import tkinter as tk window = tk.Tk() label = tk.Label( text="o nome", foreground="white", background="black" ) window.mainloop() Depois eu tento executar e o programa ou dá erro, ou, aparece uma janela vazia. Melhor dizendo eu tento fazer com que aparece uma label com o onome escrito na tela, mas como eu já tinha dito, em vez de aparecer na janela: uma label com o nome escrito aparece totalmente vazia! Eu tentei de outra forma também que foi: greeting = tk.Label(text="o nome") e só aí é que apareceu a mensagem na janela, mas eu gostava muito de fazer como indico lá encima, ajuda por favor!!!
  20. Boas, iniciei-me hoje no mundo da programação, sendo este totalmente novo para mim. Durante o meu aprendizado, tenho-me deparado com o seguinte erro: character_name = david character_age = 20 idade = character_age tipo = type print('he is', character_age, 'old') print(tipo(character_age)) print('his name is', character_name) print(tipo(character_name)) C:\Users\david\PycharmProjects\pythonProject1\venv\Scripts\python.exe C:/Users/david/PycharmProjects/pythonProject1/david.py Traceback (most recent call last): File "C:\Users\david\PycharmProjects\pythonProject1\david.py", line 1, in <module> character_name = david NameError: name 'david' is not defined Process finished with exit code 1 Uso o pycharm community, já tentei pesquisar como resolver este erro mas não encontrei nada de útil. obrigado desde já pela ajuda e peço desculpa pela leiguice.
  21. Boas, Estou a criar um programa que faz um inventário de livros, mas acabei por compilar o código para .pyc , compilei da seguinte forma: import py_compile py_compile.compile("Quick Book.py") Agora a minha dúvida era, como posso executar?
  22. Caiocof

    WebScraping

    Boa tarde, Prezados! Estou realizando um webscraping em um site utilizando o 'mechanize', mas infelizmente o site é muito lento para carregas as informações do post. Já coloquei sleep(10) e não consigo puxar todas as informações. Alguém saberia me dizer se tem alguma forma do script ficar aguardando o carregamento total da pagina antes de coletar os dados? Desde já agradeço pela atenção de todos!
  23. Boa tarde podiam me ajudar neste codigo n me seleciona o menor de cada array distancias = [ [0, 394,126, 272, 199, 63, 350, 494, 160, 117, 253, 234, 76, 188, 289, 149, 160, 87], #Aveiro [389, 0, 498, 541, 274, 338, 81, 147, 366, 272, 177, 182, 444, 205, 144, 521, 520, 425], # Beja [126, 505, 0, 217, 309, 174, 415, 604, 251, 234, 363, 344, 57, 298, 400, 54, 105, 178], # Braga [272, 543, 217, 0, 273, 289, 462, 726, 178, 356, 485, 362, 210, 420, 521, 280, 120, 200], # Bragança [274, 275, 307, 272, 0, 137, 189, 433, 97, 166, 224, 85, 257, 159, 244, 320, 243, 150], # Castelo Branco [63, 344, 171, 287, 138, 0, 244, 444, 167, 74, 203, 172, 122, 137, 239, 195, 187, 92], # Coimbra [344, 81, 414, 462, 192, 293, 0, 226, 286, 226, 132, 103, 364, 121, 99, 437, 475, 361], # Évora [390, 147, 599, 721, 432, 440, 226, 0, 524, 373, 278, 379, 549, 306, 245, 622, 621, 526], # Faro [163, 364, 254, 182, 95, 157, 283, 522, 0, 241, 313, 184, 204, 248, 349, 278, 152, 80], # Guarda [118, 273, 233, 355, 166, 73, 229, 386, 235, 0, 131, 171, 183, 80, 180, 256, 255, 160], # Leiria [254, 178, 364, 486, 225, 204, 134, 278, 317, 134, 0, 200, 314, 83, 49, 387, 386, 291], # Lisboa [233, 183, 341, 362, 85, 172, 103, 378, 187, 172, 198, 0, 292, 137, 194, 365, 358, 260], # Portalegre [74, 446, 55, 207, 259, 124, 365, 554, 201, 184, 313, 294, 0, 248, 350, 75, 95, 128], # Porto [186, 207, 295, 417, 156, 136, 123, 307, 248, 79, 80, 137, 245, 0, 116, 318, 317, 222], # Santarém [290, 145, 399, 521, 260, 239, 100, 244, 352, 182, 50, 194, 349, 118, 0, 422, 421, 326], # Setúbal [149, 521, 54, 280, 320, 195, 437, 622, 278, 256, 387, 365, 75, 318, 422, 0, 200, 200], # Viana do Castelo [160, 520, 105, 120, 243, 187, 475, 621, 152, 255, 386, 358, 95, 317, 421,200, 0, 98], # Vila Real [86, 431, 176, 198, 152, 93, 360, 531, 76, 160, 290, 260, 127, 224, 326, 200, 98, 0]] #Viseu cidades = ["Aveiro", "Beja", "Braga", "Bragança", "Castelo Branco", "Coimbra", "Évora", "Faro", "Guarda", "Leiria", "Lisboa", "Portalegre", "Porto"] a = [] tamanho = len(distancias) distancia = 0 for i in range (tamanho): posicao = 0 for u in range(tamanho): if(distancias[i][u] != 0): small = distancias[i][u] if(distancias[i][u] < small): small = distancias distancia+= small print(small)
  24. Boa tarde, Prezados! estou criando um script que acessa o site é faz o login tudo certo, estou conseguindo logar e tudo. Entretanto gostaria de saber como pegar o cookie que foi gerado ao logar e jogar dentro de um arquivo usando a mechanize pois estou usando ela para logar! Desde já agradeço peta atenção de todos!
  25. Olá, Estou com dificuldades para criar o código para um dicionário com importação dos dados em .txt. O ficheiro .txt tem mais de 40.000 linhas e cada linha tem à esquerda 6 dígitos (tempo) comum a todos os códigos na mesma linha, seguidos por dois bytes hexadecimal do identificador (XX XX), 2 dígitos decimal (XX) que indicam o número de bytes de dados (hexadecimal), exemplo de uma linha: 030447 03 28 08 ff ff 81 00 1f c1 ff ff 03 00 08 00 08 00 ff 00 00 03 80 02 12 02 00 00 030447 -> tempo (decimal) 03 28; 03 00; 02 12 -> identificador (hexadecimal) 08; 08; 02 -> número de pares de dígitos (decimal) ff ff 81 00 1f c1 ff ff; 00 08 00 ff 00 00 ff 03 80; 00 00 -> dados hexadecimal. Cada linha não tem um número fixo de códigos, pode ter mais ou menos. Antecipadamente agradeço pela ajuda.
×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.