Premiers pas avec la programmation avec Python Suite de Dernière fois
Aussi, cette fois, Présentation du problème avant cela ・ Sachez que vous avez lu les chiffres jusqu'à la fin Je vais contester le problème pour le résoudre.
Cependant, comme toujours, il est difficile de continuer.
char digit;
int checksum = 0;
cout << "Enter a six-digit number:";
for (int position = 1; position <= 6; position ++) {
cin >> digit;
checksum += digit - '0';
}
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";
}
ConsoleOut.py
#!/usr/bin/env python
#coding:utf-8
#Utiliser cout en python enseigné par shiracamus
from ConsoleOut import cout
def number():
checksum = 0
for i in range(6):
cout << "Enter a six-digit number:"
digit = input()
checksum += int(digit)
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. Invalid. \n"
test01.py(Ajouter des numéros d'entrée à 6 chiffres)
###Je l'ai écrit même si ce n'est pas tant que je peux dire que je l'ai fait moi-même.
#!/usr/bin/env python
#coding:utf-8
from ConsoleOut import cout
def number():
checksum = 0
for i in range(6):
cout << "Enter a six-digit number:"
digit = input()
checksum += int(digit)
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. Invalid. \n"
La plupart des parties sont jusqu'ici écrites par diversion, La compréhension du type int, du type str, des variables internes, etc. est encore insuffisante, et la première somme de contrôle + = int (chiffre) Pour une raison quelconque, je craignais qu'ils ne s'additionnent. Déclaré avec somme de contrôle = 0? Si vous le faites, ils s'additionneront. Je me demande si je pourrais le faire pour le moment (suer)
test.py(Une fonction qui ajoute chaque chiffre si le nombre d'entrées est de 10 ou plus)
#!/usr/bin/env python
#coding:utf-8
def doubleDigitValue(digit):
doubledDigit = digit * 2
if (doubledDigit >= 10):
sum = 1 + doubledDigit % 10
else:
sum = doubledDigit
return sum
Et voici le précédent
test.py(Ajout de la fonction doubleDigitValue)
#!/usr/bin/env python
#coding:utf-8
from ConsoleOut import cout
from test import doubleDigitValue
def number():
checksum = 0
for i in range(6):
cout << "Enter a six-digit number:"
digit = input()
if i % 2 == 0:
checksum += int(digit)
else: #S'il s'agit d'un nombre impair, doublez-le et s'il est égal ou supérieur à 10, ajoutez chaque chiffre.
checksum += doubleDigitValue(int(digit))
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. Invalid. \n"
Résultat d'exécution
>>> from test01 import number
>>> number()
Enter a six-digit number:1
Enter a six-digit number:1
Enter a six-digit number:1
Enter a six-digit number:1
Enter a six-digit number:1
Enter a six-digit number:1
Checksum is 9.
Checksum is not divisible by 10. Invalid.
>>> number()
Enter a six-digit number:2 #2
Enter a six-digit number:1 #1*2
Enter a six-digit number:1 #1
Enter a six-digit number:1 #1*2
Enter a six-digit number:1 #1
Enter a six-digit number:1 #1*2
Checksum is 10.
Checksum is divisible by 10. Valid .
>>>
#Le problème a été résolu. Je vous remercie!
Comme premier résultat (1 * 2) + 1 + (1 * 2) + 1 + (1 * 2) +1 = 9 // 1ère fois Lorsque le résultat est affiché, il semble être correct au début Je pense que c'est différent d'y entrer la deuxième fois. (2 * 2) + 1 + (1 * 2) + 1 + (1 * 2) + 1 = 10 ??? // 2ème fois C'est une situation inadéquate, mais réfléchissons un peu plus.
Recommended Posts