Je suis nouveau à Python et créer un programme dans Maya, qui crée un système solaire. Cela fait partie de mon code qui cause les problèmes (espérons-le assez pour comprendre). La première fonction définit le rayon de la planète, puis crée une sphère en conséquence. La deuxième fonction doit utiliser la variable planetRadiusStr pour déterminer le rayon du Torus (anneau). Cependant, planetRadiusStr n'est défini que dans la première fonction, donc je sais que je dois passer d'une façon ou d'une autre la variable entre les fonctions. Cependant, je n'arrive pas à faire fonctionner ça. Quelqu'un peut-il aider?Comment passer des variables entre des fonctions en utilisant python dans maya?
def planetRadius():
planetRadiusStr = raw_input("Please enter the radius of the planet:")
if float(planetRadiusStr)<float(sunRadiusStr):
cmds.polySphere(radius=float(planetRadiusStr), n='planet1')
else:
print "Planet Radius must be less than Sun Radius"
planetRadius()
def planetRings():
ringsStr = raw_input("Would you like this planet to have a ring?").lower()
if str(ringsStr) == "yes":
cmds.polyTorus(r=float(planetRadiusStr)*2, sr=0.5, n='ring1')
cmds.scale(1,0.2,1)
elif str(ringsStr) == "no":
pass
else:
print "Please enter 'yes' or 'no'."
planetRings()
(je peux télécharger une photo de mon code si ce sera plus facile à lire.) Merci!
Avez ceci et cela a semblé fonctionner, mais maintenant me demande raw_input ("Voulez-vous que cette planète ait un anneau") deux fois, même quand vous répondez "oui". Une idée pourquoi? –
Je n'ai pas regardé vos fonctions.J'ai répondu à votre question sur la façon de passer une variable dans une autre fonction. – taesu