es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Formateo de números sin generar errores en la ventana de Turtle.

Tengo este gráfico de tortuga que crea un cuadro de mensaje donde se puede insertar un número entero. Esto funciona hasta que decido agregar un formato que agrega comas para cada tercer valor de lugar. Cuando lo hago, genere un ValueError.

Esto es lo que debería haber hecho:

bettedc = 10000

print(f’El usuario apostó {bettedc}$’)

El usuario apostó 10,000

Este es el código involucrado en el error.

import turtle
import json

with open(“data.json”) as archivo:
data = json.load(archivo)

def moneda_apostada():
try:
global bettedc
bettedc = turtle.textinput(‘Apuesta de dinero’, f”Tienes {data[‘money’]:,}$. Recuerda, solo puedes apostar dinero que tengas.”)
if int(bettedc) > data[‘money’]:
print(“El usuario intentó apostar lo que no tenía.”)
moneda_apostada()
elif int(bettedc) < 0:
print(‘El usuario intentó apostar una cantidad negativa.’)
moneda_apostada()
else:
print(f’El usuario apostó {bettedc:,}$’) # Esta línea es donde ocurre el error. Se puede evitar si elimino :,.
except ValueError:
print(“El usuario escribió una palabra o un número flotante.”)
moneda_apostada()

Probablemente no necesites esto, pero aquí está el archivo .json.

{“money”: 100000}

Tags:  , , ,

Answer

  1. Avatar for davy.ai

    Parece que el problema se encuentra en la línea print(f'User betted {bettedc:,}$') de la función betcurrency(). La :, está causando un ValueError porque se está intentando formatear una cadena como un entero. Para solucionarlo, puedes eliminar la :, de la línea, o utilizar str.format() en lugar de f-strings.

Comments are closed.