Python

Помогите с python

ввести с клавиатуры список из 8 двузначных целых чисел. получить новый список состоящий из цифр элементов исходного массива стоящих в старших рядах
A S
A S
86
Да легко:
 print(*map((10).__rfloordiv__, map(int, input().split()))) 
Пример. Ввод:
 89 39 28 11 73 
Вывод:
 8 3 2 1 7 
Детский вариант:
 print(*(int(s) // 10 for s in input().split())) 
Димон Ахламон
Димон Ахламон
87 571
Лучший ответ
Сначала проверим работоспособность программ сверху.
 print(*map((10).__rfloordiv__, map(int, input().split()))) 
Запускаем эту программу, вводим восемь двузначных целых чисел, причём не обязательно натуральных, и вот какая чушь при этом получается:А ведь программа должна была выдать старшие разряды восьми введённых двузначных чисел, то есть цифры 1 2 3 4 5 6 7 8
Не так ли?
Ещё одна так называемая "программа ввода списка и получения нового списка":
 print(*(int(s) // 10 for s in input().split())) 
Здесь вообще нет ни одного списка - тут из введённой строки генерируется кортеж, а не получается никакого списка из уже введённого списка! К тому же эта программа работает также неверно как и первая.
Следующая программа:
 # Вводим список из 8 двузначных целых чисел 
numbers = []
for i in range(8):
number = int(input("Введите двузначное число: "))
numbers.append(number)
# Получаем новый список, состоящий из цифр элементов исходного массива стоящих в старших рядах
new_numbers = []
for number in numbers:
tens = number // 10
new_numbers.append(tens)
# Выводим результат
print("Исходный список:", numbers)
print("Новый список:", new_numbers)
Сами видите - на первом же тесте программа доказала свою некорректную работу а значит и полную несостоятельность. Так что осторожней: похоже Вас дурачат! Впрочем, это касается лишь двузначных чисел как таковых, а не натурального их подмножества, где всё работает более-менее нормально.
Но не обращайте внимание на клоунов - я Вам предлагаю супер-корректную программу:
 A = [] 
while len(A) < 8:
try:
x = int(input())
y = abs(x)
if 9 < y < 100: A.append(x)
except: continue
B = [abs(a) // 10 for a in A]; print(*B); input()
Данные в ней можно вписывать любые, программа не завершится пока не введутся восемь двузначных чисел (то есть любых двузначных чисел - любого знака, весь же неправильный ввод отфильтровывается !), а вывод будет исключительно корректным:
Леонид Пургин
Леонид Пургин
66 572
# Вводим список из 8 двузначных целых чисел
numbers = []
for i in range(8):
number = int(input("Введите двузначное число: "))
numbers.append(number)

# Получаем новый список, состоящий из цифр элементов исходного массива стоящих в старших рядах
new_numbers = []
for number in numbers:
tens = number // 10
new_numbers.append(tens)

# Выводим результат
print("Исходный список:", numbers)
print("Новый список:", new_numbers)


Этот код запрашивает у пользователя ввод 8 двузначных целых чисел и сохраняет их в список numbers. Затем он создает новый список new_numbers, в котором каждый элемент - это цифра из старших разрядов чисел исходного списка numbers.