Ap/Py/Lyginame Cpp Py
Jump to navigation
Jump to search
Pilnas šios treniruotės Python kodas yra čia
Uždavinys: reikia rasti duoto skaičiaus skaitmenų kiekį ir tų skaitmenų sumą. Palyginkime skirtumus tarp Python ir C++
##include <iostream>
#using namespace std;
#void skaitmenys(int num, int& sk_kiekis, int& sk_suma){
def skaitmenys(num): # antraštėje reikia tik argumento
sk_kiekis = 0; sk_suma = 0
while num != 0:
#{ riestinių skliaustų nereikia
sk_suma += num % 10
sk_kiekis += 1 # sk_kiekis++;
num //= 10; # num /= 10;
#} riestinių skliaustų nereikia
return sk_kiekis, sk_suma # gražiname dvi reikšmes
#}
O dabar lyginame funkcijos bandymus
kiek, suma = skaitmenys(1234)
print(kiek, suma)
print(skaitmenys(50006))
#int main() {
# int kiek, suma;
# skaitmenys(1234, kiek, suma);
# cout << kiek << " " << suma << endl;
# skaitmenys(50006, kiek, suma);
# cout << kiek << " " << suma << endl;
#}
O čia funkcijos testavimas - bandymas su daugeliu reikšmių:
for n in [1234, 50006, 9800089]:
kiek, suma = skaitmenys(n)
print(n, kiek, suma)
for n in [1234, 50_006, 9_800_089, 111_111_111_111]:
print(n, skaitmenys(n))
Ir pabaigai palyginimui pilnas sprendimas su C++ [1]. Atkreipkite dėmesį kad C++ kalboje taip pat galima nerašyti konkrečių tipų kaip int ar string, o galima naudoti automatinį auto. Tuo tarpu bandant funkciją paaiškėjo, kad daugiau kaip 10 skaitmenų C++ nepriima.