-Python- Principiante- Bucle / For . Donde esta mal?

Hace pocos días estoy aprendiendo de cero a programar. Con lo que aprendi hasta el momento quiero hacer lo siguiente.

1-Que me muestre un mensaje de bienvenida y me consulte por el nombre. (hasta ahi bien)
2-Dentro de ese “nombre” que verifique que sean solo letras y no numeros.
3-Que el bucle se repita si sigo poniendo numeros.

Que estoy haciendo mal? pase lo que pase me lleva a la linea
print(“Se ingreso un digito, solo se aceptan letras”)

gracias

print("Bienvenido a XXXXXXXX. Por favor complete su Legajo de ingreso")

validonombre=False
nombre=input("Ingrese por favor su nombre: ")


for i in nombre:
    if(i==1,2,3,4,5,6,7,8,9):
      
      validonombre=True

if validonombre==True:
     print("Se ingreso un digito, solo se aceptan letras")
     nombre=input("Ingrese por favor su nombre: ")

else: 
    print("Nombre ingresado correctamente")   

R: Utilidad de un bucle for en este caso?

Me piden que calcule una fracción que como resultado final dará la probabilidad de encontrar missings en mi df. Ya tengo el numerador y el denominador es "longitud total de la serie", que significa número de meses que una unidad ha estado en muestra. Me dicen que esa longitud se calcula de la siguiente manera:

ID_VariableAuxiliar=unique(df$ID)

for (i in 1:length(ID_VariableAuxiliar)){
  longitud=length(df$ID==ID_VariableAuxiliar(i))}

for (i in 1:length(df)){
  k=which(ID_VariableAuxiliar==df$ID(i))
  df$fraccion(i)=df$numerador(i)/longitud(k)}

¿Alguien puede explicarme el procedimiento y por qué no funciona cuando pongo "longitud(k)" como denominador? El error que me da R es:

Error in `$<-.data.frame`(`*tmp*`, fraccion, value = numeric(0)) : 
  replacement has 0 rows, data has 25300

java – Bucle while no para

Hola chicos estoy con un programa que muestra una tabla de anmortizacion pero cuando entra en el bucle while no se como parar, lo he intentado volviendo a solicitar datos por teclado o con un if, pero no lo logro. Me podeis echar una mano? de lo que ya hay sobre esto no consigo entenderlo al ser diferentes ejercicios. Os pongo código.

public class Ejercicio {

    public static void main(String() args) {

        Scanner interes = new Scanner(System.in);
        double acumulado;
        final int PLAZO = 5;
        double introduceInteres;
        
        System.out.println("***********************");
        System.out.println("INTRODUCE INTERES");
        introduceInteres = interes.nextDouble();
        
        if (introduceInteres == 0) {

            System.out.println("**************************");
            System.out.println("YA HEMOS TERMINADO");
        }

        while (introduceInteres != 0) {

            double()() saldo = new double(6)(PLAZO);

            for (int i = 0; i < 6; i++) {

                saldo(i)(0) = 10000;
                acumulado = 10000;

                for (int x = 1; x < PLAZO; x++) {

                    acumulado = acumulado + (acumulado * introduceInteres);

                    saldo(i)(x) = acumulado;
                }

                introduceInteres = introduceInteres + 0.01;

            }

            for (int z = 0; z < 6; z++) {

                System.out.println();

                for (int y = 0; y < PLAZO; y++) {

                    System.out.printf("%1.2f", saldo(z)(y));

                    System.out.println(" ");
                }
            }
            
        } 
    }
}

bucle for – ¿Como modificar el nombre de una variable? Javascript

Tengo un problema con un ejercicio planteado por mi profesor
Me indica que quiere que haga un loop para crear 30 objetos diferentes de manera automatica
Pero al momento de usar la funcion creadora new, me encuentro con un problema
Se reescribe el valor 30 veces sobre la misma variable asignada a la funcion constructora
Y no encuentro la manera de por medio de algun codigo dentro del loop, que se reescriba al reiniciarse el loop el nombre de la variable.

function tests(a,b,c){
    this.a = a;
    this.b = b;
    this.c = c;
}
function datos (){
    var azar = Math.floor(Math.random()*100);
    return azar;
}
function datos2 (){
    var azar = Math.floor(Math.random()*100);
    return azar;
}
function datos3 (){
    var azar = Math.floor(Math.random()*100);
    return azar;
}
    for(var i = 0, x=30 ; i < x; i++){
        var usuario = "usuario"+i;
        nombre = datos3();
        informacion = datos2 ();
        determinante = datos ();
            var usuario = new tests(determinante,informacion,nombre);
            console.log("Primera etapa");
            console.log(usuario);
        }
    

tengo los console.log para tener una retroalimentacion de que esta ocurriendo cuando lo ejecuto en la consola.

python – ¿Porque este bucle while no funciona?

Tengo un problema, quise hacer un juego de Piedra papel o tijera en Python, tuve que usar varios if ya que en Python no hay switch, y bueno, use un bucle while para hacer que funcione:

import random
jugada = 0;
computador = 0;
puntosj = 0;
puntosc = 0;
ronda = 1;
while (puntosc < 3 or puntosj < 
3):
computador = random.randrange(3);
print("Piedra:0, Papel:1, 
Tijera:2");
jugada = input("Digite su 
jugada");
if (jugada == 0 and computador == 
0):
print("Empate en la ronda 
"+ronda);
if (jugada == 0 and computador == 
1):
print("Computador jugo 
"+computador);
print("Perdiste la ronda numero 
"+ronda);
puntosc += 1;
if (jugada == 0 and computador == 
2):
print("Computador jugo 
"+computador);
print("Ganaste la ronda numero 
"+ronda);
puntosj += 1;
if (jugada == 1 and computador == 
0):
print("Computador jugo 
"+computador);
print("Ganaste la ronda numero 
"+ronda);
puntosj += 1;
if (jugada == 1 and computador == 
1):
print("Computador jugo 
"+computador);
print("Empate en la ronda 
"+ronda);
if (jugada == 1 and computador == 
2):
print("Computador jugo 
"+computador);
print("Perdiste la ronda numero 
"+ronda);
puntosc += 1;
if (jugada == 2 and computador == 
0):
print("Computador jugo 
"+computador);
print("Perdiste la ronda numero 
"+ronda);
puntosc += 1;
if (jugada == 2 and computador == 
1):
print("Computador jugo 
"+computador);
print("Ganaste la ronda numero 
"+ronda);
puntosj += 1;
if (jugada == 2 and computador == 
2):
print("Computador jugo 
"+computador);
print("Empate en la ronda numero 
"+ronda);
ronda += 1
if puntosc < puntosj:
print("Ganaste :)")
if puntosj < puntosc:
print("Perdiste :(")

Quizás el error fue que use la librería incorrecta para usar random.randrange, o use mal el while o el if, estuve intentando arreglar el código, no creo que sea un error de sintaxis porque el programa no me daba error, pero no hace lo que yo quería que hiciera. Ojalá alguien me pueda ayudar come este problema

java – Imprimir un resultado al final de un bucle

Hice un código el cual pide lo siguiente:

María y Juan les han entregado a sus padres la lista de libros que a cada uno le han de comprar para el ciclo escolar que está por comenzar, para Juan la lista es la siguiente: Español 3, Matemáticas 3, Sociales 3, C. Naturales 3, Informática 3, Inglés 3, Francés 3, Música 3, Geografía 3 y E. Física 3; para María la lista es la misma, pero para el 5to grado. Simule usando Listas en Java ambas listas de libros,la búsqueda y compra de cada uno de los libros. De manera aleatoria simule si se buscará un librode Juan o uno de María y una vez determinado a quien se le buscará el libro determine el libro que encontró, también por medio del azar. Cada vez que se encuentre un libro imprima ambas, indiquéellibro encontrado y para quien es y elimínelo de la lista, cuando se haya encontrado la totalidad de alguna de las listas imprima un mensaje indicándolo, al final indique cuál de las dos listas se encontró primero. Solo imprima las listas si aún tienen algún libro pendiente.

Ya tengo mi código, pero no sé cómo hacer lo resaltado en negritas.

private static Random r = new Random();
public static void main(String() args) {
    String() books = {"Español", "Matemáticas", "Sociales", "C. Naturales", "Informática", "Inglés", "Francés", "Música", "Geografía", "E. Física"};
    String titlelist = "";

    ArrayList<String> Juan = new ArrayList<String>();
    ArrayList<String> Maria = new ArrayList<String>();

    modifyListbyGrades(books, Juan, " 3");

    modifyListbyGrades(books, Maria, " 5");

    boolean followingPrinting = true;
    boolean followingPrinting2 = true;

    do {
        SearchAndBuy(Juan, Maria);

        if (followingPrinting) {
            titlelist = "LISTA DE JUAN:"; System.out.println("nn"+ titlelist +"n"); printList(Juan); }
    
        if (followingPrinting2) {
            titlelist = "LISTA DE MARÍA"; System.out.println("nn"+ titlelist +"n"); printList(Maria); }

        if (Juan.size() == 0) { followingPrinting = false; System.out.println("nnJUAN HA COMPLETADO SU LISTAnn"); }
        else if (Maria.size() == 0) { followingPrinting2 = false; System.out.println("nnMARÍA HA COMPLETADO SU LISTAnn"); }
        
        if (Juan.size() == 0 && Juan.size() < Maria.size()) { System.out.println("JUAN FUE EL PRIMERO EN TERMINAR SU LISTA"); }
        else if (Maria.size() == 0 && Maria.size() < Juan.size()) { System.out.println("MARÍA FUE LA PRIMERA EN TERMINAR SU LISTA"); }
        
    } while (Juan.size() > 0 || Maria.size() > 0);

}

public static void modifyListbyGrades(String() array, ArrayList<String> voidarray, String set) { //donde set es el número del grado que es el libro
    for (int x = 0; x < array.length; x++) {
        voidarray.add(array(x) + set);
    }
}

public static void printList(ArrayList<String> array) { //Imprimir los arrays
    for (String e : array) 
    System.out.println(e);
}

public static void SearchAndBuy(ArrayList<String> array, ArrayList<String> array2) { 
    //Lista con todos los elementos de ambas listas
    ArrayList<String> AllBooks = new ArrayList<String>();
    AllBooks.addAll(array); //agregar todos los elementos del primer array
    AllBooks.addAll(array2); //agregar todos los elementos del segundo aray
    
    int b = r.nextInt(AllBooks.size()); //buscar aleatoriamente un elemento de la lista 
    String book = AllBooks.get(b); //ubicar el elemento String respecto a la posición obtenida en b
    AllBooks.remove(b); //remover ese elemento b de la lista 

    if (array.contains(book)) { //en caso de que el libro encontrado pertenezca al primer array
        System.out.println("n---------------------------------------------------------------------------nSe ha conseguido el libro de "+ book +" para Juan. Quitando de la lista...n---------------------------------------------------------------------------n");
        array.remove(book);
    } else if (array2.contains(book)) { //en caso de que el libro encontrado pertenezca al segundo
        System.out.println("n---------------------------------------------------------------------------nSe ha conseguido el libro de "+ book +" para Maria. Quitando de la lista...n---------------------------------------------------------------------------n");
        array2.remove(book);
    }
}

Traté haciendo una condición que avisara cuando ocurriera eso pero se repite siempre cuando ejecuto mi código, y yo lo que quiero es que lo haga cuando ya haya terminado el bucle:

if (Juan.size() == 0 && Juan.size() < Maria.size()) { System.out.println("JUAN FUE EL PRIMERO EN TERMINAR SU LISTA"); }
        else if (Maria.size() == 0 && Maria.size() < Juan.size()) { System.out.println("MARÍA FUE LA PRIMERA EN TERMINAR SU LISTA"); }

introducir la descripción de la imagen aquí

javascript – Saber cuantos botones hay con un bucle y asignar funciones

Intento crear un bucle donde detecte cuántos botones hay, y a cada botón se le asigne una función:

var ff = f0.querySelectorAll("button");
      console.log(ff);

      for(let i = 0; i < ff.length; i++){
         if(ff(0).addEventListener("click", ()=>{
            console.log(i);
         }));
         if(ff(1).addEventListener("click", ()=>{
            console.log('adios');
         }));
         if(ff(2).addEventListener("click", ()=>{
            console.log('adiew');
         }));
      }

Con esta forma de hacerlo, se detecta y se hace clic, pero cuentan tantos clics como botones tenga el recorrido. ¿Cómo podría hacerlo, sabiendo que más tarde podría añadir otro botón?

bucle for – Eres capaz de encontrar el error

Os comento, tengo que simular un juego llamado el juego de Penney, el cual consiste en dos jugadores que lanzan una moneda y deben adivinar una secuencia de tres lanzamientos. Por ejemplo, si el jugador A dice que va a salir Cara-Cara-Cara y el jugador B dice Cara-Cruz-Cara, debe lanzarse la moneda hasta que salga una de estas secuencias. Si, por ejemplo, saliera Cruz-Cruz-Cara-Cara-Cruz-Cara entonces ganaría el jugador B.

Entonces, debo simular este juego, pero no sé que error estoy cometiendo, porque dependiendo de las elecciones de los jugadores, existen mas posibilidades de que gane uno u otro, pero con mi código, he supuesto que se hacían 100 juegos, siempre me sale que tienen la misma probabilidad de ganar, y no debería ser así. Os adjunto el código, si alguien sabe donde está mi error me salvaría, tengo que entregarlo hoy mismo…

import numpy as np

results=()
A=(0,0,0)
B=(1,0,0)
win_A=0
win_B=0

for i in range(100):
    win = False
    while win == False:
        results.append(np.random.randint(0,2))
        if len(results) > 3:
           results.pop(0)
        if results == A:
            win = True
            win_A += 1
    
        if results == B:
            win = True
            win_B += 1
print(win_A)
print(win_B)

Cita en bloque

Hola!! Soy nuevo , Como puedo guardar en una lista todo lo recorrido en el bucle FOR?

let entrada = prompt("Introduzca el numero de dias: ");
for (i = 0; i <= entrada; i = i + 5) {
document.write(i) +

}

bucle for – ¿Cómo puedo guardar un archivo CSV con el nombre de un contador en python?

Estoy implementando búsquedas en un librería de Python que se llama twint lo quiero hacer para una lista de ciudades, esto lo hago en un ciclo.
Siguiendo la idea de este post https://www.kaggle.com/discussion/207512 genero una función para llevar a cabo la búsqueda.

Del código se puede decir que all_cities_mexico es una lista con el nombre de las ciudades más grandes de México.
Necesito generar los archivos CSV con el nombre de mi contador, en este caso city, esta es mi propuesta pero no genera ningún archivo y dice que encontró 0 tweets.

def scrape_by_city(keywords, since, until):
    unique_cities=set(all_cities_mexico) #To get unique cities of country
    cities = sorted(unique_cities) #Sort & convert datatype to list
    for city in cities:
        print(city)
        c = twint.Config()
        c.Search = keywords #search keyword
        c.Since = since
        c.Until = until
        c.Store_csv = True
        c.Output = 'C:/Users/Manager/' + city
        c.Near = city
        c.Hide_output = True
        c.Count = True
        c.Stats = True
        c.Resume = 'resume.txt'
        twint.run.Search(c)

Espero puedan ayudarme, por favor.