Всем привет. Мой код, язык Python (проблема ниже):
def change(summ, n):
~~num_count = 0
~~temp = n
~~while temp > 0:
num_count += 1
temp = temp // 10
~~last_digit = n % 10
~~first_digit = n // 10 ** (num_count - 1)
~~between_digits = n % 10 ** (num_count - 1) // 10
~~n = last_digit * 10 ** (num_count - 1) + between_digits * 10 + first_digit
~~print('Изменённое число:', n)
~~ summ += n
~~return summ
number = int(input('\nВведите первое число: '))
summa = 0
if abs(number) > 99:
~~summ = change(summa, number)
else:
~~print('В первом числе должно быть не менее трех цифр.')
n = int(input('\nВведите второе число: '))
if abs(n) > 999:
~~summ = change(summ, n)
else:
~~print('Во втором числе должно быть не менее четырех цифр.')
if abs(n) > 999 or abs(number) > 99:
~~print('\nСумма чисел:', summ)
else:
~~print('\nОшибка, попробуйте снова.')
Ребят , если в программе ввести следующие цифры (допустим, 23 и 43530), то программа падает с ошибкой, не совсем понимаю почему.
1) program Array16;
var
i:integer; // счетчик в цикле
N:integer;
a: array [1..10] of integer;
begin
writeln('Введите N (N<10)');
readln(N); // ввод размера массива
for i:=1 to N do
begin
write('a[',i,']=');
readln(A[i]); // ручной ввод значений массива
end;
writeln('Результат');
for i:=1 to N do
begin
// вычисление и вывод элементов в указанном порядке
write(' ',a[(i div 2+1)*((i) mod 2)+ n*((i+1)mod 2)-((i div 2)-1)*((i+1) mod 2)]);
end;
end.
2) Var A:array[1..100] of integer;
i,n:byte;
Begin
write('Введите n<=100: ');readln(n);
For i:=1 to n do
Begin
A[i]:=random(31);
write(A[i]:3);
End;
writeln;
For i:=1 to n div 2 do
write(A[i]:3,A[n-i+1]:3);
if n mod 2 <>0 then write(A[n div 2+1]:3);
End.
number = int(input())
last_number = 0
even = 0
odd = 0
while (number > 0):
last_number = number % 10
if (last_number % 2 == 0):
even += 1
else:
odd += 1
number //= 10
print("Even = ", even, "Odd = ", odd)
Объяснение:
number = int(input()) // Объявление + ввод переменной
last_number = 0 // Переменная для хранения последней цифры числа
even = 0 // Количество четных
odd = 0 // Количество нечетных
while (number > 0): // Пока число > 0
last_number = number % 10 // Получаем последнюю цифру числа
if (last_number % 2 == 0): // Если цифра делится на 2 без остатка
even += 1 // В переменную even делаем + 1
else: // Иначе
odd += 1 // В переменную odd делаем + 1
number //= 10 // Удаляем последнюю цифру числа
print("Even = ", even, "Odd = ", odd) // Вывод