Как считать два числа с одной строки python

Как считать числа, введенные через пробел?

если я подаю такую строку то он считывает правильно и работает.

а я хочу подавать вот такую строку 2 3 3 3 и чтобы всё работало как это сделать?

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
a = 1 x = 1 c = 1 while True: if x == 1: z = int(input()) x = 0 if z == 0: break if a == 1: c = int(input()) a = 0 c = (c ** int(input())) z -= 1 print(c)

Считать три числа, записанных в строке через пробел
Привет,CyberForum. Начал изучение пайтона) Но много ещё не знаю,но хочу узнать. Задача и.

Считать строку из чисел, вывести на экран Все четные числа — элементы массива Входные данные вводятся через пробел, ввод
Считать строку из чисел, вывести на экран Все четные числа — элементы массива Входные данные.

Как считать числа введенные через пробел
Нужно считать числа в массив. Числа введенные через пробел. Количество чисел известное

Считать числа, введённые с клавиатуры через пробел
Считать числа, введённые с клавиатуры через пробел. Как это сделать? Количество введённых чисел.

lst = list(map(int,input().split())) for x in lst: #и т.д.

сейчас моя программа считывает только так
2
3
3
3

я хочу чтобы она могла считывать вот так
2 3 3 3

ЦитатаСообщение от Марина1211 Посмотреть сообщение

сейчас моя программа считывает только так
2
3
3
3

я хочу чтобы она могла считывать вот так
2 3 3 3

Это понятно. А программа сама что должна делать? У вас в программе цикл и ввод переменных зависит от условий. Очевидно, что нельзя ввести все переменные одной строкой

программа должна считать вот такое
2
1 2 2

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26
a = 1 x = 1 c = 1 h = [] i = 0 o = int(input()) while True: if o == 0: break while True: if x == 1: z = int(input()) x = 0 if z == 0: h.append(c) a = 1 x = 1 c = 1 break if a == 1: c = int(input()) a = 0 c = (c ** int(input())) z -= 1 o -= 1 print(sorted(h))

Добавлено через 6 минут
Допустим программа должна считать вот такое
3
1 2 2
1 2 6
1 3 2

и вывести индексы в порядке возрастания чисел
вывод 2 3 1

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26
a = 1 x = 1 c = 1 h = [] i = 0 o = int(input()) while True: if o == 0: break while True: if x == 1: z = int(input()) x = 0 if z == 0: h.append(c) a = 1 x = 1 c = 1 break if a == 1: c = int(input()) a = 0 c = (c ** int(input())) z -= 1 o -= 1 print(sorted(h))

Лучший ответ

Сообщение было отмечено Марина1211 как решение

Решение

всё известно
3 # это сколько всего будет
1 2 2 # Первое число в строке это количество элементов минус один.то есть тут двойка возводится в двойку
1 2 6
1 3 2

Лучший ответ

Сообщение было отмечено Марина1211 как решение

Решение

z = int(input()) clist = list(map(int, input().split())) c = clist[0] for i in range(z): c = (c ** clist[i]) print(c)

cпасибо а как её сделать чтобы когда такое подаёшь она выдовала индексы 2 3 1 по возрастанию чисел
3
1 2 2
1 2 6
1 3 2

ну смотрите
все числа вводятся с консоли
4 # тройка это число сколько будет вот тех последовательностей в низу.
1 2 2 # Первое число в этой строке это количество элементов в этой строке минус один.то есть тут двойка возводится в двойку.2^2
1 2 6 # тут двойка возводится в степень шесть.
1 3 2 # тут тройка возводится в степень два.
2 5 2 3 # тут пятёрка сначала возводится в степень вторую потом число которое получилось возводится в степень три

2^2 = 4
2 ^ 6 = 64
3 ^2 = 9
5 ^2^3 = 390625

после возведение в степень нужно в порядке возрастания напечатать индексы
допустим где получилась чётвёрка индекс 1 где получилось 64 индекс 2,где 9 индекс 3 где 390625 индекс 4
значит нужно вывести 1 3 2 4

Добавлено через 7 минут
там ошиблась с записью там не три а четыре в примере
4 # это число сколько будет вот тех последовательностей в низу. может быть как 4 так и больше и меньше

Лучший ответ

Сообщение было отмечено Марина1211 как решение

Решение

n = int(input()) h = {} for i in range(n): args = list(map(int, input().split())) c = args[1] for p in args[2:]: c **= p h[i] = c print(*[x[0]+1 for x in sorted(h.items(), key=lambda x: x[1])])

cпасибо вам огромное)) только работает чуть чуть не правильно посмотрите пожалуйста
если подать ваш код вот такие цифры которые в низу то получится 2 4 3 6 7 5 10 1 9 8 а я в ручную смотрела получается
2 4 3 6 7 5 9 10 1 8

10
4 2 2 2 2 2
1 2 2
1 3 2
1 2 3
3 2 2 2 2
2 2 2 2
1 3 3
3 3 3 3 3
2 4 3 3
2 2 3 4

Добавлено через 26 минут
(2)^2^2^2^2 получается не 65536. а получается просто гигант примерно 10^19728 а у вас выдаёт 65536 как это можно исправить?

Добавлено через 15 минут
я перепутала условия.
2 2 2 2

тут возводится так сначала последние две цифры.получается четыре теперь вторая двойка в эту четвёрку и получается 16
тут как бы степень на степень

Добавлено через 5 минут
в степень выполняется справа налево

Добавлено через 1 час 39 минут
4 2 2 2 2 2
2^2^2^2^2 =2^65536
последние две цифры = 4
теперь теретия цифра в эту четвёрку 2^4 = 16
Теперь вторая двойка в степень.2^16 =65536
и теперь самая левая двойка 2^65536

Добавлено через 10 часов 7 минут
вот допустим строка
2 4 5 3

5^3 = 125
потом 4^125=Большому числу

Источник

Реализация однострочного ввода двух и более чисел

Привет. Продолжаю изучать питон, решил делать олимпиадные задания, попутно читая Лутца(говорил в прошлой своей теме с вопросом). Столкнулся с трудностью на первой же, вроде бы элементарной задаче. a+b.
Мой код :

a = int(input()) b = int(input()) print(a+b)

Но сайт с проверкой выдаёт ошибку, видимо нужен однострочный ввод, о котором я ещё не знаю. Пытался загуглить — не вышло. Помогите

Одинаковое вертикальное выравнивание для двух- и однострочного текста в диве
Добрый день! Есть несколько дивов фиксированной высоты, в которых располагается текст. Требуется.

Найти количество чисел, суммы двух первых и двух последних цифр которых различаются не более, чем на 2
Назовём натуральное пятизначное число N (10000<=N <= 99999) счастливым, если суммы двух его первых.

напечатать произведение двух наибольших из трёх из заданых чисел, используя при этом не более двух сравнений
напечатать произведение двух наибольших из трёх из заданых чисел, используя при этом не более двух.

Найти количество четырехзначных чисел, где суммы двух первых и двух последних цифр различаются не более, чем на 3
Назовём натуральное четырёхзначное число N (1000 <= N <= 9999) счастливым, если суммы двух его.

Deryagtev, суть в том, что эти сайты ожидают, что программа будет другой ввод воспринимать (из командной строки вроде) и по этому ошибка.
Ты покажи сайт, скажем в чем проблема.

Лучший ответ

Сообщение было отмечено Deryagtev как решение

Решение

import sys sum(int(i) for i in sys.argv[1:])

alex925, если не трудно, укажите хоть один сайт, который даёт входные числа через командную строку.

Black Fregat, спасибо большое, получилось.
Я конечно сейчас же попробую всё найти сам, но т.к. слабо понимаю технический английский — встроенным хелпом воспользоваться не смогу и не факт что найду значение map и input.split . Если вас не затруднит, объясните пожалуйста

Deryagtev, метод split разбивает строку по пробелу, а map применяет указанную функцию к каждому элементу последовательности.

>>> a = input() 1 2 43 56 12 >>> a '1 2 43 56 12' >>> a.split() ['1', '2', '43', '56', '12'] >>> list(map(int, a.split())) [1, 2, 43, 56, 12] >>>

Спасибо. Подскажите тогда, как сделать ввод N количества переменных (n тоже вводится), чтобы их после этого можно было использовать? Список? Как реализовать такой ввод?

data = [input('>>> ') for _ in range(int(input('Колличество элементов: ')))] print(data)

Источник

Читайте также:  Работа со статическими переменными java
Оцените статью