Ir para conteúdo
Fórum Script Brasil

ArteEN

Membros
  • Total de itens

    677
  • Registro em

  • Última visita

Posts postados por ArteEN

  1. Não sei exatamente o problema, não fui por esse lado, gostaria apenas de dizer que primeiro você deve fazer a solução mais simples possível e depois incrementar

    from PIL import Image
    import random
                                                   imageSqrSize = 512                                                                             newImage = Image.new("L", (imageSqrSize, imageSqrSize), "black")                                                      
    for x in range(imageSqrSize):
        for y in range(imageSqrSize):                                  newImage.putpixel((x, y), random.randint(0, 255)    )                                                                                                                    newImage.save("Noise.png")

     

  2. 1 minuto atrás, Gleison Furini disse:

    if ( op < 1 or op > 3):

    ... print ("Opção inválida.")

    tire os ..., e use 4 espaço, assim:

    if (op < 1) or (op > 3):
      print("Opção inválida.")

    tambem separei a validação com parentese de uma forma diferente,não altera o resultado, mas ajuda a entender melhor a intenção

  3. veja a anotação dentro da função

    Em 01/08/2023 em 21:49, nina_99 disse:
    def cmod5n_forward(v,phi,theta:
        '''!     ---------
        !     cmod5n_forward(v, phi, theta)
        !         inputs:
        !              v     in [m/s] wind velocity (always >= 0)
        !              phi   in [deg] angle between azimuth and wind direction
        !                    (= D - AZM)
        !              theta in [deg] incidence angle
        !         output:
        !              CMOD5_N NORMALIZED BACKSCATTER (LINEAR)
        !
        !        All inputs must be Numpy arrays of equal sizes
        !
        !     A. STOFFELEN              MAY  1991 ECMWF  CMOD4
        !     A. STOFFELEN, S. DE HAAN  DEC  2001 KNMI   CMOD5 PROTOTYPE
        !     H. HERSBACH               JUNE 2002 ECMWF  COMPLETE REVISION
        !     J. de Kloe                JULI 2003 KNMI,  rewritten in fortan90
        !     A. Verhoef                JAN  2008 KNMI,  CMOD5 for neutral winds
        !     K.F.Dagestad              OCT 2011 NERSC,  Vectorized Python version
        !---------------------------------------------------------------------
           '''

    diz que todas as entradas deve ser arrays de tamanho iguais, agora veja as entradas

    Em 01/08/2023 em 21:49, nina_99 disse:
    sigma0_obs=[4.32674215,3.72549955,3.25660927,2.93046451,4.58418151]
    incidence=[64.1597756,64.8628612,67.0776741,72.8808313,57.7738178]
    phi=[-261.571387,-262.019219,-264.074833,-267.473085,-270.674255]

    são arrays de mesmo tamanho, o que esta acontecendo é que ele esta mostrando 5 resultados para 5 valores de dados, se você quizer apenas uma saida, deve então passar arrays com apenas um valor.

     

    alterando os arrays para

    sigma0_obs=[4.32674215]
    incidence=[64.1597756]
    phi=[-261.571387]

    você terá a seguinte saida

    Initial guess V: [10.]
    Iteration 1, V: [20.], step: 5.0, sigma0_calc: [0.00342216]
    Iteration 2, V: [25.], step: 2.5, sigma0_calc: [0.02235289]
    Iteration 3, V: [27.5], step: 1.25, sigma0_calc: [0.03657467]
    Iteration 4, V: [28.75], step: 0.625, sigma0_calc: [0.0431854]
    Final V after iterations: [28.75]
    Wind Speed (m/s): [28.75]

     

  4. tendo dois arquivos ou mais.

    arquivo_onde_a_variavel_esta.py

    var = 1
    variaveis = [2, 3, 4]

    arquivo_que_vai_usar_a_variavel.py

    import arquivo_onde_a_variavel_esta as arquivo
    
    print(arquivo.var)
    print(arquivo.variaveis)

     

  5. 01 não tem significado, ele faz dar erro no codigo.

    a = np.array([[6], [2], [-1], [0], [-5], [6], [7], [9], [2]])
    a1 = a[3:7,01]
      File "<stdin>", line 1
        a1 = a[3:7,01]
                   ^
    SyntaxError: leading zeros in decimal integer literals are not permitted; use an 0o prefix for octal integers

     

    a verdade é que tendo o codigo qual seria a dificuldade de executar e comprovar por si mesmo?

  6. e ainda esta errado, se você entrar os numeros 2, 1, 3 nesta ordem, vai retornar que o 2 é o maior deles
    esse problema é bem iniciante, você tem que compreender a comparação logica, no caso: > ou <
    comece tentando achar o maior entre dois numeros, de pois de compreender coloque um terceiro

  7. >>> leitura = b'D'b'0'b'0'b'0'b'0'b'0'b'4'b'.'b'\r' 
    >>> print(leitura)
    b'D000004.\r'
    >>> leitura[1:]
    b'000004.\r'
    >>> leitura[1:-2]
    b'000004'
    >>> int(leitura[1:-2])
    4
     

    peguei sua leitura e fui fatiando no terminal, no seu caso é só pegar a ultima linha, claro que só vai funcionar se o padrão da mensagem não mudar.

    a questão é: pode acontecer de ter alguma informação depois do ponto? uma informação que ainda não apareceu?

  8. beleza, vou deixar aqui uma classe que uso em uma aplicação aqui, você pode tirar como base

        class Sensor:
            def __init__(self):
                self.serial = Serial(port='/dev/serial0', baudrate=9600, timeout=0.05)
    
    
            def getLeitura(self):
                try:
                    self.serial.write(b'1')
                    self.leitura = [int(x) for x in self.serial.readline().split()]
    
                except:
                    self.leitura = (0, 0)

    tem o try para contornar um problema de alimentação eletrica no sistema

  9. então você tem uma sequencia de bytes, você pode começar concatenando ela, tipo:

    a = b''.join(sequencia)

    apos isso você vai ter que identificar as posições das informações uteis, igual que se faz numa lista.

    e então fatiar essa sequencia, e converter em inteiro, ou flutuante

    b = a[2:]
    c = int(b)

    são dicas aproximadas, você vai ter que fazer testes ai

×
×
  • Criar Novo...