I have some problems with the function Math and sqrt in Visual studio, does anyone can say me what i'm doing wrong?
print("Programa de calculo de raiz cuadrada")
numero= int(input("Introduce un numero: "))
intentos=0
while numero<0:
print("no se puede calcular la raiz de un numero negativo")
if intentos==2:
print("Has consumido demasiados intentos, reinicia aplicacion")
break
numero= int(input("Introduce un numero: "))
if numero<0:
intentos=intentos+1
if intentos<3:
solución= math.sqrt(numero) # Here's the problem
print("La raíz cuadrada de" +str(numero) + "es" +str(solución))
Python #VisualStudio
You need import math to be able to use the math function.
It also has an error in the variable named solución, must be solucion.
Try this:
import math
print("Programa de calculo de raiz cuadrada")
numero= int(input("Introduce un numero: "))
intentos=0
while numero<0:
print("no se puede calcular la raiz de un numero negativo")
if intentos==2:
print("Has consumido demasiados intentos, reinicia aplicacion")
break
numero= int(input("Introduce un numero: "))
if numero<0:
intentos=intentos+1
if intentos<3:
solucion= math.sqrt(numero)
print("La raíz cuadrada de " +str(numero) + "es" +str(solucion))
Related
I have created another MENU in a different exercise using IF in this time I did it with MATCH CASE and I have a doubt, is it possible to print the menu again and if it is possible how I would do it, I think in an if but it is the first time that I use these sentences.
this is my code:
...Later i need to work with dictionaries so with this method can do it?, or I need to use IF to create the menu from the beginning?
menu = """
1. Datos del pasajero.
2. Agrega una ciudad.
3. Ingresa DNI para ver las ciudades que coinciden con el dato.
4. Escribe una ciudad para ver el # de pasajeros.
5. Ingresa DNI para ver los paises que coinciden con el dato.
6. Ingresa un pais y mostrar el total de personas que viajan.
7. Terminar el programa
"""
viajeros = {}
paises = {}
print(menu)
dato_leido = int(input('Escriba una opcion para comenzar con el programa: '))
match dato_leido:
case 1:
print('Escriba los datos del pasajero: ')
case 2:
print('Agrega una ciudad a la lista:')
case 3:
print('Ingresa el DNI del pasajero para ver a que ciudad ha viajado: ')
case 4:
print('Ingrese una ciudad para ver el numero de pasajeros: ')
case 5:
print('Ingresa el DNI de una persona para ver a que paises viaja: ')
case 6:
print('Ingresa un pais y mostrar el total de personas que viajan: ')
case _:
print('Saliendo del programa en 3, 2, 1(FIN).')
I only want my code to accept numbers between 1 to 9. I tried try except, logical operators, isdigit, but I just can't do it.
areasevolumes =["1. Área de um quadrado.","2. Área de um triãngulo.","3. Área de um retângulo.","4. Área de um trapézio.","5. Área de um círculo.","6. Volume de um cubo.","7. Volume de um paralelepípedo.","8. Volume de um prisma triãngular.","9. Volume de um cílindro."]
for prompt in areasevolumes:
print(prompt)
n = int(input("Insira um número. "))
while not 0 < n < 10:
n = int(input("Insira um número. "))
```
It look like you're trying to print out the prompt based on the user input, and you want to make sure that it's not higher the 9 and lower than 1. You need to change it the while not to while and add the line to print out the prompt.
areasevolumes =["1. Área de um quadrado.","2. Área de um triãngulo.","3. Área de um retângulo.","4. Área de um trapézio.","5. Área de um círculo.","6. Volume de um cubo.","7. Volume de um paralelepípedo.","8. Volume de um prisma triãngular.","9. Volume de um cílindro."]
for prompt in areasevolumes:
print(prompt)
n = int(input("Insira um número. "))
while 0 < n < 10:
print(areasevolumes[n-1])
n = int(input("Insira um número. "))
or you could do it without defining n beforehand as follows:
areasevolumes =["1. Área de um quadrado.","2. Área de um triãngulo.","3. Área de um retângulo.","4. Área de um trapézio.","5. Área de um círculo.","6. Volume de um cubo.","7. Volume de um paralelepípedo.","8. Volume de um prisma triãngular.","9. Volume de um cílindro."]
while True:
n = int(input("Insira um número. "))
if 0 < n < 10:
print(areasevolumes[n - 1])
else:
break
I've got 2 bidimensional arrays in python, and I must print like results of the common elements between those list.
I have tried to solve this with intersetion function but I didn't get any result. Any ideas? Thanks a lot!
fila= int(input("Digite el numero de filas "))
columna=int(input("Digite el numero de columnas "))
matriz=[]
for i in range(fila):
matriz.append([])
for j in range(columna):
valor= int(input(f"Digite el valor {i} {j} de la matriz: "))
matriz[i].append(valor)
#La función sort(revers=True) utiliza el algoritmo BubleSort para ordenar
#en forma descendente
matriz[i].sort(reverse=True)
print("\nLas primera matiz ingresada, en orden decreciente es: ")
print(matriz)
#Ahora inicializamos un arreglo que equivale a la segunda matriz a trabajar
fila_2= int(input("Digite el numero de filas "))
columna_2=int(input("Digite el numero de columnas "))
matriz_2=[]
for i in range(fila_2):
matriz_2.append([])
for j in range(columna_2):
valor= int(input(f"Digite el valor {i} {j} de la matriz: "))
matriz_2[i].append(valor)
#La función sort(revers=True) utiliza el algoritmo BubleSort para ordenar
#en forma descendente
matriz_2[i].sort(reverse=True)
print("\nLas segunda matiz ingresada, en orden decreciente es: ")
print(matriz_2)
z = matriz.intersection(matriz_2)
print("\nLos elementos comunes en ambas matrices son: ")
print (z)
who are yours?...sorry for my english translate but im from Spain, and my english is very bad, sorry.
Im trying to make a program for my class of Computational Physical Programmation. I need to study the position and the velocity of 2-phase rocket, changing the % of gas of the first phase(it, obviously, change the % of 2 phase gas,Masa1= mass of 1phase, Masa 2= mass of 2phase). Changing the gas, change the time of fly. I wish to put all data whit odeint like this:
from numpy import * #importamos todo lo que
from scipy.integrate import odeint #podamos necesitar a lo largo
import matplotlib.pyplot as plt #del programa
#funciones
def funder (M,t,u,D,m0): #funcion para calcular luego
'''funcion derivada''' #la integral de la funcion
y, v=M[0],M[1]
return array([v,u*D/(m0-(D*t))])
#constantes
ni=100 #numero de intervalos
#cohete de una fase
#Datos propuestos en el enunciado para una primera prueba
D=13840. #Kg/s cantidad de combustible que se quema por segundo
m0=2.85e6 #Kg masa total inicial
u=2.46 #km/s velocidad de salida de los gases
r=0.05 #proporcion de la masa recipiente
mu=0.47*m0 #masa util
mc=(m0-mu)/(1+r) #masa combustible
t0=mc/D #tiempo que tarda en quemar el cobustible en una etapa
#condiciones iniciales
y0, v0 =0, 0 #posicion y velocidades iniciales igual
ListaPorce=[0.1,0.2,0.3,0.4,0.5,0.6,0.7,0.8,0.9] #lista de #porcentajes,luego se convertira
#en un array
Intervalos=[] #lista con los #intervalos de tiempo de los
#distintos porcentajes de combustible
for i in ListaPorce: #para los i en ListaPorce, haz:
Combustible=mc*i #multiplicara los indices por #el combustible
#asi sabemos que cantidad de #combustible para cada porcentaje
tempo=linspace(0,(Combustible/D),ni) #tempo es el array de tiempos #para cada porcentaje de combustible
Intervalos.append(tempo) #añade tempo a la lista #Intervalos, que luego sera un array
Duracion=array(Intervalos) #convertimos la lista #Intervalos al array Duracion
Porcentaje=array(ListaPorce) #convertimos la lista #ListaPorce al array Porcentaje
Usado=mc*Porcentaje
masa1=mu+(1+r)*Usado #masa de la fase 1
masa1.shape=(masa1.size,1)
masa2=mu+(1+r)*(mc-Usado) #masa de la fase 2
Comparacion01=odeint(funder,array([y0,v0]),Duracion, args=(u,D,masa1))
print Comparacion01
But when i make run, the program say me:
Traceback (most recent call last):
File "Trabajo IFC.py", line 278, in <module>
Comparacion01=odeint(funder,array([y0,v0]),Duracion, args=(u,D,masa1))
File "/usr/lib/python2.7/dist-packages/scipy/integrate/odepack.py", line 144, in odeint
ixpr, mxstep, mxhnil, mxordn, mxords)
ValueError: object too deep for desired array
The error is for use a non 1D array for odeint, true?. Who i can do that?
i wish to have a "mega-array"(Comparacion01) like [%,times,position,velocity]
Who i can do that? need to change the funcion "funder"
thanks a lot for all users. i will continue trying...
from random import randrange
def init_config(m, n):
print("""Crée une configuration pour la configuration initiale""")
config = [[0 for a in range(n)] for b in range(m)]
for k in range(m*n): a, b = k//n, k%n
config[a][b]=k+1
return config
def disp(config, m, n):
print("""Affiche un damier d'une configuration existante avec le format voulu""")
s=t=" +%s\n" % ("---+"*n)
for k in range(n):"%s %s" % (" "if k==0 else "",chr(65+k if k<26 else 71+k)),
for k in range(m*n): i, j=k/n, k%n
s +="%s%s|%03d%s"%(k/n+1 if k%n==0 else ""," "if k%n==0 and k/n<9 else "",config[a][b],"|\n" + t if b == n-1 else "")
return s
def set_treasure (config):
import random
a=random.randrange(0,lin)
b=random.randrange(0,col)
treasure=config[a][b]=0
def main():
print("Entrer les dimensions du damier")
lin=int(input('nombre de lignes : '))
if type (lin)!=int :
print(""" ***ERREUR !***\n le nombre de lignes doit etre un nombre entier""")
lin=int(input('number of lines : '))
elif lin>26:
print(""" ***ERREUR !***\n le nombre de lignes ne doit pas excéder 26 !""")
lin=int(input('nombre de ligne : '))
col=int(input('nombre de colonne: '))
if type (col)!=int :
print(""" ***ERREUR !***\n le nombre de colonnes doit etre un nombre entier""")
col=int(input('nombre de colonne: '))
elif col>38:
print(""" ***ERREUR !***\n le nombre de colonnes ne doit pas excéder 38 !""")
col=int(input('nombre de colonne: '))
n_treasure=int(input('Combien de trésor voulez vous mettre dans le jeux: '))
if type (n_treasure)!=int :
print(""" ***ERREUR !***\n le nombre de trésor doit etre un nombre entier""")
n_treasure=int(input('nombre de trésor que vous avez demander dans le jeux: '))
config=init_config(lin,col)
for k in range (n_treasure):
if set_treasure (config):
board=disp(config, lin, col)
print(board)
for a in range (lin):
for b in range (col):
if config[a][b]==0:
print("Il y a un trésor dans", chr(65+b),a+1)
hello all , I just finished this mini game with python 3.2 but the problem is that the program does not work I do not find the problem, i have TypeError: Win32RawInput() takes at most 2 positional arguments (4 given)
Since you haven't provided any explanation of what the program should actually do and I don't speak French, here's what I think is the problem: In the last line
input("Il y a un trésor dans", chr(65+b),a+1)
you try to display several different types as the input question. But from the context, I think what you really want to do is print these types. Do this by simply typing:
print("Il y a un trésor dans", chr(65+b),a+1)
Perhaps the same goes for fifth-to-last line. It should be
print(board)
if config[a][b]==0:
input("Il y a un trésor dans", chr(65+b),a+1)
So here you are passing four arguments to the built-in function input which takes at most one argument.
input(...)
input([prompt]) -> string
Read a string from standard input. The trailing newline is stripped.
If the user hits EOF (Unix: Ctl-D, Windows: Ctl-Z+Return), raise EOFError.
On Unix, GNU readline is used if enabled. The prompt string, if given,
is printed without a trailing newline before reading.