Y eso lo haría asi?
Código (C) [Seleccionar]
show myShow;
myShow.name = (char *)malloc(longitudNombre*sizeof(char));
Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.
Mostrar Mensajes Menú
show myShow;
myShow.name = (char *)malloc(longitudNombre*sizeof(char));
typedef struct{
char *name;
char *episodes;
bool isAll;
}show;
show myShow;
myShow.name = (char *)malloc(longitudNombre*sizeof(char));
from random import randint
secretNumber = "0"
userNumber = "0"
tries = 7
cows = 0
bulls = 0
def generateNumber():
secretNumber = str(randint(1, 9))
for i in range(3):
x = str(randint(0, 9))
while x in secretNumber:
x = str(randint(0, 9))
secretNumber += x
return secretNumber
def askNumber():
userNumber = "0"
isCorrect = False
while len(userNumber)!=4 or not isCorrect or userNumber[0] == "0":
userNumber = raw_input("Type a 4 digit number between 1000 and 9999.\nDo not repeat any digit: ")
for i in range(len(userNumber)):
if userNumber.count(userNumber[i]) > 1:
isCorrect = False
break
else:
isCorrect = True
return userNumber
print" _________________________"
print"< Welcome to Cows & Bulls >"
print" -------------------------"
print" \ ^__^"
print" \ (oo)\_______"
print" (__)\ )\/\\"
print" ||----w |"
print" || ||\n"
secretNumber = generateNumber()
while tries>0:
userNumber = askNumber()
if userNumber == secretNumber:
print"*************************************************"
print"*Congratulations, you guessed the secret number.*"
print"*************************************************"
break
for i in range (len(secretNumber)):
if userNumber[i] == secretNumber[i]:
bulls +=1
elif userNumber[i] in secretNumber:
cows +=1
print "FAIL: %d cows and %d bulls. You still have %d attempts\n" %(cows, bulls, tries-1)
tries -=1
bulls = 0
cows = 0
if tries == 0:
print "You got out of attempts!\nThe secret number was %d" %int(secretNumber)
def askNumber():
userNumber = "0"
isCorrect = False
while len(userNumber)!=4 or not isCorrect or userNumber[0] == "0":
userNumber = raw_input("Please type a 4 digit number between 1000 and 9999, do not repeat any digit: ")
for i in range(len(userNumber)):
if userNumber.count(userNumber[i]) > 1:
isCorrect = False
break
else:
isCorrect = True
return userNumber
Cita de: engel lex en 4 Noviembre 2016, 15:30 PMEs cierto que no compruebo si son números, pero para este ejercicio no es necesario comprobarlo, se entiende que el usuario sólo introducirá números.
no se que intentas hacer conuserNumber[i] == userNumber[i-1]:
pero para este tipo de problemas es más estetico un do-while
si usas break se aplicacrá dentro del ciclo donde esté....
exactamente que necesitas hacer a demás de ver que tenga 4 dígitos? (cosa que si tienes correcta, pero no comprobaste si el primer dígito es 1 y si son números)
userNumber[i] == userNumber[i-1]:
lo que hago es asegurarme de que dentro de userNumber no haya dos números iguales. if userNumber[0] == "0":
isCorrect = False
def askNumber():
userNumber = "0"
isCorrect = False
while len(userNumber)!=4 and not isCorrect:
userNumber = raw_input("Please type a 4 digit number between 1000 and 9999, do not repeat any digit: ")
for i in range(1, len(userNumber)):
if userNumber[i] == userNumber[i-1]:
isCorrect = False
else:
isCorrect = True
if userNumber[0] == "0":
isCorrect = False
return userNumber
void MovimientoEsferico(){
PosicionInicialCartesianasAEsfericas();
float MovimientoEsferico[3];
MovimientoEsferico[0]=posicionInicialEsferica[0]*sinf(posicionInicialEsferica[1])*cosf(posicionInicialEsferica[2]);
MovimientoEsferico[1]=posicionInicialEsferica[0]*sinf(posicionInicialEsferica[1])*sinf(posicionInicialEsferica[2]);
MovimientoEsferico[2]=posicionInicialEsferica[0]*cosf(posicionInicialEsferica[1]);
float diferenciaX = 0;
float diferenciaY = 0;
float diferenciaZ = 0;
float resultadoDivisionX = 0;
float resultadoDivisionY = 0;
float resultadoDivisionZ = 0;
float posicionSatelite[12];
api.getMyZRState(posicionSatelite);
//X
if(MovimientoEsferico[0]>posicionFinal[0]){
diferenciaX = MovimientoEsferico[0]-posicionFinal[0];
resultadoDivisionX = diferenciaX/6;
resultadoDivisionX = resultadoDivisionX*-1;
}
else if(MovimientoEsferico[0]<posicionFinal[0]){
diferenciaX = posicionFinal[0]-MovimientoEsferico[0];
resultadoDivisionX = diferenciaX/6;
}
//Y
if(MovimientoEsferico[1]>posicionFinal[1]){
diferenciaY = MovimientoEsferico[1]-posicionFinal[1];
resultadoDivisionY = diferenciaY/6;
resultadoDivisionY = resultadoDivisionY*-1;
}
else if(MovimientoEsferico[1]<posicionFinal[1]){
diferenciaY = posicionFinal[1]-MovimientoEsferico[1];
resultadoDivisionY = diferenciaY/6;
}
//Z
if(MovimientoEsferico[2]>posicionFinal[2]){
diferenciaZ = MovimientoEsferico[2]-posicionFinal[2];
resultadoDivisionZ = diferenciaZ/6;
resultadoDivisionZ = resultadoDivisionZ*-1;
}
else if(MovimientoEsferico[2]<posicionFinal[2]){
diferenciaZ = posicionFinal[2]-MovimientoEsferico[2];
resultadoDivisionZ = diferenciaZ/6;
}
MovimientoEsferico[0] = MovimientoEsferico[0]+resultadoDivisionX;
MovimientoEsferico[1] = MovimientoEsferico[1]+resultadoDivisionY;
MovimientoEsferico[2] = MovimientoEsferico[2]+resultadoDivisionZ;
api.setPositionTarget(MovimientoEsferico);
while ((posicionSatelite[0]!=MovimientoEsferico[0])&&(posicionSatelite[1]!=MovimientoEsferico[1])&&(posicionSatelite[2]!=MovimientoEsferico))//en este bucle while esta el error//{
api.getMyZRState(posicionSatelite);
api.setPositionTarget(MovimientoEsferico);
}