python 3.x – String como nombre de atributo

Tengo una instancia del cliente de mi base de datos y me gustaría pasar una instancia de la base de datos y la colección que quiero usar como strings al cliente. Sabe como puedo utlisar String como nombre de atributo?

db_url = "mongodb+srv://USER:PASSWORD@cluster0.n2hnd.mongodb.net/a_company?retryWrites=true" 
                      "&w=majority"

Aqui esta la funcion que me gustaria crear:

def save_in_mongo(self, url, db, collection, perfume):
    client = pymongo.MongoClient(url)
    db = client.db
    fragrance = db.collection

Pero no sé como utlisar los argumentos de la funcion como attributos del cliente de MongoDB

What is the SetHorspool string searching algorithm?

What is the SetHorspool string searching algorithm with pseudo-code so it can be easily implemented in a language of choice?

This has been implemented in 2 libraries I have come across:

  • https://app-db.com/seqan/1.3/SPEC_Set_Horspool.html,
  • http://stringsearchalgorithms.amygdalum.net/.

But there seem to be very little details of the algorithm available online to understand its working.

python – Python3: split encoded string

I have

b'pathn/sync/u/0/i/bvnurl_ids_md5nxd9xddx80fF>(xf4?xccx86c|xd2xd3xf0nargcountn2nstart_timen1605232804narg.cn10narg.hln11n'

Which has the following elements:

 1) "path"
 2) "/sync/u/0/i/bv"
 3) "url_ids_md5"
 4) "xd9xddx80fF>(xf4?xccx86c|xd2xd3xf0"
 5) "argcount"
 6) "2"
 7) "start_time"
 8) "1605232804"
 9) "arg.c"
10) "10"
11) "arg.hl"
12) "11"

I’m trying to break it up into a list containing elements split by “n”. However, several situations occur:

Let’s call the string in question s.

If I naively do s.split(“n”), that, of course, is not going to work, and I run into the following error:

TypeError: a bytes-like object is required, not 'str'

So then I decode() before trying to split: s.decode().split(“n”). The problem with this is I have a md5 encoded component as a part of s, which is not compatible with the default utf-8 decoding of decode().

Next (instead of decode()) I tried applying str() to s. I get the following:

b'pathn/sync/u/0/i/bvnurl_ids_md5nxd9xddx80fF>(xf4?xccx86c|xd2xd3xf0nargcountn2nstart_timen1605232804narg.cn10narg.hln11n'

(Note that it’s still very much encoded, as evidenced by the b’ in front.)
Interestingly, the result of doing .split(“n”) on the above is the following:

("b'path\n/sync/u/0/i/bv\nurl_ids_md5\n\xd9\xdd\x80fF>(\xf4?\xcc\x86c|\xd2\xd3\xf0\nargcount\n2\nstart_time\n1605232804\narg.c\n10\narg.hl\n11\n'")

Which in itself doesn’t make sense to me. (But do note that it allows me to do .split() now, as opposed to my original string / first example)

How do I properly split the string?

number representation – Concatenate a variable with a string

I have a little problem with a variable and a string. I built a game with a panel that shows a random word,the player clicks “Yes” if he knows the meaning and clicks “No” otherwise. When the game ends a message is displayed.

Here’s a part of my code:

l=10; *number of words you want to play with*
click=0;
p=39176(click/l);

Row({Button("Yes", click++), 
  Button("No"),Button("End game",m=StringJoin("You played with ",ToString(l)," "," words, and you know ", ToString(click),"words.nThe Mathematica´s WordList has 39176 words, so you technically know ",ToString(p)," words.");Print(m))})

I got this message when I finish the game:
enter image description here

The problem is how ” p” is shown. I tried with “…ToString(NumberForm(per,5))…” but didn’t work.

I appreciate your help.

Thanks!

DONE. Adding “StandaForm” solved it.

python – COMO ATRIBUIR AO FLOAT UMA STRING

Estou fazendo um exércicio em python, cujo o objetivo é ler o menor e maior peso, o programa está funcionando direitinho, porém aparece esse erro: “Incompatible types in assignment (expression has type “float”, variable has type “int”. Aí queria saber como faz para atribuir ao float uma string, ja tentei colocar peso = (algum número) porém não funcionou

Verificar se uma string está contida numa matriz char na horizontal ou vertical JAVA

Por enquanto escrevi esta função

public static boolean isHidden(char()() board, String word){
  boolean check = false;
  for(int i = 0; i < (board(0).length); i++){
    for(int j = 0; j<(board.length); j++){
     for(int m = 0; (j+m)<board.length); m++){
       //Check if beetween char(i)(j) and char(i)(i+m) the word is contained
       // if yes then ceck = true 
     }
    }
  }
}  

Não sei se o que escrevi está correto até agora, mas o problema é que não sei como verifico se a word está lá contida ou não. O uq pensei foi usar o StringBuilder e a append mas só funciona com um array unidimensional.

Como encontrar a terceira ocorencia em uma string?

Tenho vários textos em um banco de dados. Quero que após o terceiro parágrafo de cada texto seja colocado uma imagem. Como faço isso ? Com strpos encontro a primeira ocorrência da tag html do final do parágrafo, mas preciso da terceira.

java – Is it possible to print a string on page break and last record on jasper reports

I m new to jasper Reports on eclipse.
I have 2 doubts please help me to clarify it.
My requirement :-

  1. I’m creating a statement of Report.i only wanted to print 10 records on a single page. i’m using a page break to break and print it on the next page. i wanted to print a String called “continue” when page breaks and “End” at the last record.

  2. I’m trying to access an image based on the field presented on jasper reports from a remote server
    suggest me how to fetch image every time when i generate a report.

How can i create create this.

Thanks in advance
-Patrick

Actualizar string sacada por consola en Python

Estoy tratando de actualizar un string impreso por pantalla que indica la evolución del proceso (porcentaje) pero no entiendo por que, no lo hace correctamente. Si que se actualiza el string pero también imprime un nuevo string cada vez que pasa por el print La instrucción que utilizo es:

percentage = 100*(i/size)
print("Completado: %.2d" % (percentage), end='r')

La salida que obtengo por pantalla es:

Completado: 100ompletado: 34Completado: 46Completado: 53Completado: 
59Completado: 65Completado: 71Completado: 78Completado: 84Completado: 90Completado: 96

Entiendo que el flag end='r' es el que hace que se actualice el string. Otras veces esto me ha funcionado sin problema, pero ahora no entiendo por que no. También he probado con la instrucción sys.stdout.flush() y tampoco funciona. Estoy en Spyder 4.1.5 y Conda sobre Windows.

visual studio – Sustituir espacios por un caracter en un string C++

Estoy intentando hacer un menu que almacene diferentes cosas y una de ellas es el nombre completo
y quiero que cuando ingrese el nombre los espacios entre cada nombre y apellido sea cambiado por un “_”

esto es lo que tengo, ignoren el bool de modificacion ya que no hace nada por el momento
lo que me interese es saber porque el “replace” no me funciona correctamente ya que al escribir el nombre es cambiado completamente por ese caracter.

soy bastante nuevo en c++ y en visual studio pero necesito saber como poder solucionar esto. gracias de antemano

PD: esta en la linea 68

#include <conio.h>
#include <stdio.h>
#include <string.h>
#include <string>
#include <fstream>
#include <fcntl.h>
#include <algorithm>


using namespace std;

struct Datos
{

    string usuario;
    string canal;
    string nombre;
    char clasi(50);//clasificacion de canal
    string video; //videojuego que stremea el usuario
    char genv(50); //clasificacion del videojuego

};

struct Datos u(100);

int i, j, z;
int opc; //opcion del menu
int opc2; //opcion de la clasificacion
int opc3;
int opc4; //opcion de genero videojuego
string bus1; //busqueda para modificar el usuario

int menu()
{
    int x;
    system("cls");
    cout << "<<-----Binevenido----->>" << endl << endl;
    cout << "1.- Agregar usuario" << endl;
    cout << "2.- Ver listas de usuario" << endl;
    cout << "3.- Modificar usuario" << endl;
    cout << "4.-Eliminar usuario" << endl;
    cout << "5.- Salir" << endl;
    cout << "¿Que desea hacer? ";
    cin >> x;
    return x;
}



void agregar(ofstream &es)
{
    int z;
    int i = 0;
    int j = 0;

    system("cls");
    


            cout << "nIntroduzca su nombre de usuario: ";
            cin.ignore(); getline(cin, u(i).usuario);
            system("cls");
            remove_if(u(i).usuario.begin(), u(i).usuario.end(), ::isspace);
            
            cout << "nIntroduzca su nombre: "; getline(cin, u(i).nombre);
            system("cls");
            u(i).nombre.replace(u(i).nombre.begin(), u(i).nombre.end(),' ', '_');
            
            cout << "nIntroduzca el nombre de su canal: ";
            getline(cin, u(i).canal);
            system("cls");
            
            

            cout << "nIngrese el Videojuego a emitir: " ;
            getline(cin, u(i).video);
            
            do
            {
                cout << "nGeneros de videojuegos: ";
                cout << "n1.- Shooter";
                cout << "n2.- Aventura";
                cout << "n3.- Deporte";
                cout << "n4.- Terror";
                cout << "n5.- Estrategia";
                cout << "n6.- RolPlay";
                cout << "n7.- Accion";
                cout << "nSeleccione el genero del videojuego: "; cin >> opc4;
                system("cls");
                switch (opc4)
                {
                case 1:
                    strcpy_s(u(i).genv, "Shooter");
                    break;
                case 2:
                    strcpy_s(u(i).genv, "Aventura");
                    break;
                case 3:
                    strcpy_s(u(i).genv, "Deporte");
                    break;
                case 4:
                    strcpy_s(u(i).genv, "Terror");
                    break;
                case 5:
                    strcpy_s(u(i).genv, "Estrategia");
                    break;
                case 6:
                    strcpy_s(u(i).genv, "RolPlay");
                    break;
                case 7:
                    strcpy_s(u(i).genv, "Accion");
                    break;
                }
            } while (opc4 != 1 && opc4 != 2 && opc4 != 3 && opc4 != 4 && opc4 != 5 && opc4 != 6 && opc4 != 7);
            system("cls");

            
            
            do {
                cout << "nClasificaciones de canal: ";
                cout << "n1.- Todo Publico(TD)";
                cout << "n2.- +18";
                cout << "n3.- Para menores de edad(N)";
                cout << "nSeleccione la clasificacion de su canal: "; cin >> opc2;
                system("cls");
                switch (opc2)
                {
                case 1:
                    strcpy_s(u(i).clasi, "TD");
                    break;
                case 2:
                    strcpy_s(u(i).clasi, "+18");
                    break;
                case 3:
                    strcpy_s(u(i).clasi, "N");
                    break;
            
                }
            } while (opc2 != 1 && opc2 != 2 && opc2!=3);

            system("cls");


            cout << u(i).usuario << endl;
            cout << u(i).nombre << endl;
            cout << u(i).canal << endl;
            cout << u(i).clasi << endl;
            cout << u(i).video << endl;
            cout << u(i).genv << endl;
            system("pause");
            
            es.open("usuarios.txt", ios::out | ios::app);
            es <<i<<" "<< u(i).usuario << " " << u(i).nombre << " " << u(i).canal << " " << u(i).clasi << " " << u(i).video << " " << u(i).genv << "n";
            i++;
            es.close();


    
}

int main()
{
    ofstream escritura;
    int sel;
    do
    {
        system("cls");
        sel = menu();
        switch (sel)
        {
        case 1:
            agregar(escritura);
            break;
        }
    } while (sel != 5);
    return 0;
}


bool modificacion()
{
    
    int j = 0;
    system("cls");
    cout << "Introduzca el usuario a modificar: ";
    cin.ignore(); getline(cin, bus1);
    for (j = 0; j < 101; j++)
    {
        if (j)
        {

        }
    }
    return 0;
}  ```