#python #for-loop #if-statement #input #append
#питон #for-цикл #if-оператор #входные данные #добавить
Вопрос:
У меня есть код, он получает число как n для количества чисел, которые вы хотите указать, затем у меня есть другой ввод, который представляет собой числа, которые мы хотим ввести в код, я хочу, чтобы мой код находил числа меньше 3 и выдавал результат, но он работает довольно странно! так что помогите мне, люди, большое спасибо заранее
y = []
n = int(input())
for i in range(1,n 1):
x = input()
x = x.split()
for j in x:
j = int(j)
if j < 3:
for j in x:
y.append(j)
break
print(y)
мой вклад выглядит так :
5
1 2 3
мой вывод должен быть: 1 2
но это похоже на : [‘1′,’1’]
Комментарии:
1. Итак, вы вводите 5 для n, но продолжаете вводить только три числа? Кроме того, отступы не в порядке, так ли это на самом деле выглядит в вашей IDE или вы перепутали форматирование при вставке? Потому что затем цикл выполняется для каждого ввода, а не после обработки всех входных данных
2. Во-первых, пожалуйста, добавьте языковой тег, во-вторых, зачем вам нужен внутренний цикл? если j<3, просто добавьте его в выходной массив,
3. привет, дорогая, Марта. Да, я хочу ввести несколько чисел, это не очень важно, я хочу, чтобы все работало так, как я сказал, чтобы найти числа меньше 3 и поместить их в список, отступы точно такие, как в моей IDE
4. привет, дорогой, @InUser Я добавил языковой тег, спасибо, что напомнил мне об этом, я хочу точно то же самое, что вы сказали, но я не могу с этим справиться и не знаю, что в этом плохого
Ответ №1:
Вы можете попробовать этот код:
y = []
n = 5
x = "5 1 2 3 2"
x = x.split()
for j in x: # for each value in x
j = int(j)
if j < 3: # if < 3, append to list
y.append(j)
print(y)
Теперь вы можете реализовать свою функцию для получения чисел и улучшения возврата.
Комментарии:
1. Спасибо, дорогой Виниций, но задание связано с вводом, но ты мне очень помог, и я ценю это
Ответ №2:
У вас есть микс с входными данными.
Либо вы получаете его как один входной сигнал, а затем вам нужно разделить, либо вы получаете его один за другим (n раз).
В первом варианте вам нужно разделить список, выполнить итерацию по нему и добавить, во втором варианте вам просто нужно проверить каждое число и добавить его в список, если вам не нужно n в начале
y = []
x = input()
x = x.split()
for j in x:
j = int(j)
if j < 3:
y.append(j)
print(y)