Ceci est mon premier message posté. Cela fait une semaine que j'ai commencé à faire du python. Je suis toujours une fille, donc je m'entraîne avec une collection de problèmes que j'ai trouvés en ligne.
Je vais laisser un article en mémoire car le problème que j'ai trouvé à ce moment-là n'a pas pu être bien résolu.
C'est un incontournable pour les super débutants! !! !!
En termes simples, une méthode de calcul permettant de déterminer mécaniquement l'engagement maximal.
Méthode de calcul ① Préparez deux nombres naturels que vous souhaitez vérifier ② Grand ÷ petit (3) S'il y a un reliquat, le plus petit nombre et le gage maximum de ce montant correspondent au gage maximum des deux premiers. ④ En répétant cela, vous pouvez trouver la promesse maximale avec des chiffres simples.
Eh bien, ça ressemble à ça. Je suis désolé, c'est difficile à comprendre.
Maintenant écrivons le code. Tout d'abord, définissez une nouvelle fonction gcd ()
def gcd(a,b) #Définir la fonction
Utilisez def pour définir vous-même la fonction.
Ensuite, nous écrirons le traitement effectué par cette fonction. Avec la division mutuelle euclidienne, vous devez répéter le calcul plusieurs fois. Par conséquent, le branchement conditionnel suivant est requis.
① Lorsqu'il n'y a pas de reste (lorsqu'il est divisible), le calcul s'arrête là ② S'il y a un reste, continuez le calcul
Le traitement est divisé selon les deux cas. En d'autres termes, vous devez utiliser if!
Par conséquent, je pense que le code sera comme ci-dessous.
def gcd(a,b) #Définir la fonction
#Au moment de ①
if b == 0
return a
#Au moment de ②
else:
return gcd(b,a%b)
C'est la fin de l'écriture! !! !! Après cela, il semble que vous deviez utiliser la fonction d'entrée et ajouter la fonction d'impression pour sortir le résultat afin que vous puissiez entrer librement vos 2 nombres préférés. ↓ est le formulaire rempli.
a,b = input(),input()
#Convertir en entier
a,b = int(a),int(b)
#Définir la fonction
def gcd(a,b)
#Au moment de ①
if b == 0
return a
#Au moment de ②
else:
return gcd(b,a%b)
#Résultat de sortie
print(gcd(a,b))
C'est tout ce qu'on peut en dire! !!
Cette fois, j'ai utilisé python pour exprimer la méthode de division mutuelle d'Euclidean.
Au début, l'entrée ne fonctionnait pas et j'ai eu une erreur, mais lorsque j'ai attaché l'int, cela a fonctionné. ~~ Je ne sais pas pourquoi, alors je serais heureux si vous pouviez m'en parler. ~~
Une addition Je vous l'ai dit dans les commentaires! La raison semble être la différence de type. input est str car c'est une fonction qui reçoit la "chaîne de caractères" saisie par l'utilisateur. D'autre part, le type supposé par la fonction gcd est int, donc les types ne correspondent pas et une erreur se produit. En d'autres termes, si vous le convertissez en un entier avec la fonction int, cela fonctionnera.
Notes complémentaires Je vous l'ai encore dit dans les commentaires! Si vous avez python 3.5 ou version ultérieure, il semble que la bibliothèque mathématique ait une fonction comme je l'ai créée!
Merci d'avoir lu jusqu'au bout! !! !! N'hésitez pas à me donner des conseils!
Recommended Posts