Premiers pas avec la programmation avec Python Suite de Dernière fois
Il semble que la plupart des parties que j'ai faites la dernière fois seront détournées, En parlant de ce qui a été résolu la dernière fois
・ Obtenez un numéro d'identification à 6 chiffres à partir de l'entrée standard ・ Ajoutez les numéros d'identification à 6 chiffres acquis (ci-après dénommés sujets spéciaux) (Sur les 6 chiffres, multipliez les chiffres impairs par 2, et si le résultat du calcul de la multiplication est de 2 chiffres, séparez chaque chiffre individuellement. Additionner)
Voici le problème suivant, mais dans le problème depuis le début c'est "un nombre arbitraire de chiffres" Ce n'est pas toujours un nombre à 6 chiffres.
Réponse du livre
char digit;
int checksum = 0;
int position = 1;
cout << "Enter a number with an even number of digits: ";
digit = cin.get();
while(digit != 10) {
if (position % 2 == 1) checksum += digit - '0';###Le nombre impair reste le même
else checksum += doubleDigitValue(digit - '0');###Double le nombre pair
digit = cin.get();
position++;
}
cout << "Checksum is " << checksum << ". \n";
if (checksum % 10 == 0){
cout << "Checksum is divisible by 10. Valid. \n";
}else{
cout << "Checksum is not divisible by 10. Invalid. \n";
}
・ ・ ・
test02.py
#!/usr/bin/env python
#coding:utf-8
import sys
from ConsoleOut import cout
from test import doubleDigitValue
def number():
checksum = 0
position = 0
cout << "Enter a number with an even number of digits:"
digits = input()
while position < len(digits):
digits = digits[position]
if position % 2 == 1:
checksum += int(digit)
else:
checksum += doubleDigitValue(int(digit))
position += 1
cout << "Checksum is " + str(checksum) + ". \n";
if checksum % 10 == 0:
cout << "Checksum is divisible by 10. Valid .\n"
else:
cout << "Checksum is not divisible by 10. Invalud. \n"
・ ・ ・(Résultat de sortie du terminal)
>>> from test02 import number
>>> number()
Enter a number with an even number of digits:49927398716
Checksum is 70.
Checksum is divisible by 10. Valid .
Je réfléchissais à la façon de trouver le nombre impair en additionnant le nombre de caractères saisis. Une méthode très simple et facile à comprendre de seulement pair et seulement impair que vous avez commentée la dernière fois Je l'ai utilisé parce que j'ai appris.
Essayez également d'utiliser raw_input () que vous m'avez appris en entrée standard. J'ai essayé, mais comme j'utilisais Python3.5, j'ai eu un NameError et un NameError. Comme c'est sur le site de référence que sys.stdin.readline () peut être utilisé en Python3 Je l'ai essayé, mais cela n'a pas fonctionné et le code est le même que la dernière fois.
Dans cet article "Python Tips: Je veux obtenir une chaîne de caractères à partir de l'entrée standard" sys.stdin. Il y avait un moyen d'utiliser readline ().
Recommended Posts