Python считать числа строкой

Пользовательский ввод чисел в строку

Функция input() возвращает все в виде строки, поэтому нужно выполнить явную конвертацию, чтобы получить целое число. Для этого пригодится функция int() .

 
# вывод суммы двух чисел, введенных пользователем

num_1 = int(input("Введите первое число: "))
num_2 = int(input("Введите второе число: "))

print("Тип num_1:", type(num_1))
print("Тип num_2:", type(num_2))

result = num_1 + num_2
print("Сумма введенных чисел:", result)

int(string) конвертирует переданную строку в целое число.

Ввода числа float

По аналогии можно использовать функцию float() .

 
float_1 = float(input("Введите число: "))
print("Тип float_1:", type(float_1))

result = float_1 ** 2
print("Число в квадрате:", result)
Введите число: 1.8 Тип float_1: Число в квадрате: 3.24

Ввод чисел в строку через пробел

Но что произойдет, если вы не знаете количество элементов ввода?

Предположим, что от пользователя нужно получить список чисел и вернуть их сумму. При этом вы не знаете количество элементов в этом списке. Как же запросить ввод для него?

Для этого можно использовать split и функции map . Метод split() делит введенную строку на список подстрок. После этого map() выполняет функцию int() для каждого элемента списка.

 
entered_list = input("Введите список чисел, разделенных пробелом: ").split()
print("Введенный список:", entered_list)

num_list = list(map(int, entered_list))
print("Список чисел: ", num_list)
print("Сумма списка:", sum(num_list))
Введите список чисел, разделенных пробелом: 1 34 4 6548 Введенный список: ['1', '34', '4', '6548'] Список чисел: [1, 34, 4, 6548] Сумма списка: 6587
  • input() возвращает список, содержащий числа, разделенные запятыми.
  • split() возвращает список строк, разделенных пробелами.
  • map() выполняет операцию int() для всех элементов списка и возвращает объект map .
  • list() конвертирует объект map снова в список.

Есть альтернативный способ получить список:

 
entered_list = input("Введите список чисел, разделенных пробелом: ").split()

num_list = [int(i) for i in entered_list]
print("Список чисел: ", num_list)

Обработка ошибок при пользовательском вводе

Часто при конвертации типов возникает исключение ValueError .

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

Например, пользователь вводит случайную строку в качестве возраста.

 
num = int(input("Введите возраст: "))

Функция int() ожидает целочисленное значение, обернутое в строку. Любое другое значение приводит к ошибке. Вот что будет, если, попробовать ввести «Двадцать»:

Введите возраст: Двадцать --------------------------------------------------------- ValueError Traceback (most recent call last) in ----> 1 num_1 = int(input('Введите возраст: ')) ValueError: invalid literal for int() with base 10: 'Двадцать'

Чтобы убедиться, что пользователь вводит только подходящую информацию, нужно обработать массу подобных ошибок. Для этого будем использовать перехват исключений.

 
try:
num = int(input("Введите число: "))
print("Все верно. Число:", num)
except ValueError:
print("Это не число.")

Посмотрим, как ввод «Двадцать» сработает теперь:

Введите число: Двадцать Это не число.

В этом примере если пользователь вводит нечисловое значение, то возникает исключение. Однако оно перехватывается инструкцией except , которая в ответ выводит: «Это не число». Благодаря использованию конструкции try-except программа не прекратит работать при некорректном вводе.

Обучение с трудоустройством

Я создал этот блог в 2018 году, чтобы распространять полезные учебные материалы, документации и уроки на русском. На сайте опубликовано множество статей по основам python и библиотекам, уроков для начинающих и примеров написания программ.

Python Q CEO Pythonru admin@pythonru.com https://secure.gravatar.com/avatar/b16f253879f7349f64830c64d1da4415?s=96&d=mm&r=g CEO Pythonru Python Александр Редактор https://t.me/cashncarryhttps://pythonru.com/https://yandex.ru/q/profile/cashnc/ PythonRu.com admin@pythonru.com Alex Zabrodin 2018-10-26 Online Python, Programming, HTML, CSS, JavaScript

Источник

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

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

а я хочу подавать вот такую строку 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=Большому числу

Источник

Считать три числа, записанных в строке через пробел

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

a = float(input()) b = float(input()) c = float(input())

Введите три числа в одной строке через пробел и найдите большее
Помогите написать на Python Введите три числа в одной строке через пробел и найдите большее

Дано N строк. В каждой строке, через пробел записаны три числа. Найти тройку чисел, сумма которой максимальна
Надеюсь я правильно, то мне надо строку перевести в массив а потом там найти сумму 3 элементов. я.

Напишите программу, которая получает на вход три целых числа, через пробел, и выводит на консоль в три строки
Напишите программу, которая получает на вход три целых числа, через пробел, и выводит на консоль в.

Как считать числа, введенные через пробел?
если я подаю такую строку то он считывает правильно и работает. 2 3 3 3 а я хочу подавать.

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

Источник

Как прочитать по-отдельности числа из строки?

По отдельности прочитать три числа из файла (обработка строки)
Здравствуйте, есть строка типа 2x3x4 или 22x3x32 Необходимо по отдельности прочитать три числа .

Как из строки прочитать числа и записать их в массив
Здравствуйте! У меня есть задача, для решения которой необходимо поработать отдельно с каждой.

Прочитать числа из строки
Уважаемые любители всего этого, имеется строка с тремя числами(x, y, z) числа эти меняются и нужно.

Как работать с каждой цифрой четырехзначного числа по отдельности?
Вот есть задача на с++. Но не знаю с чего начать. как работать с каждой цифрой четырехзначного.

input считывает строку целиком
Если хотите ввести через пробел числа, вы input-ом считываете строку, делите её split-ом и превращаете в числа:

bs = [int(x) for x in input().split()]

Конечно, эта строчка плоха тем, что не учитывает, что от пользователя можно ожидать чего угодно вместо чисел. То бишь валидации не хватает.

1 2 3 4 5 6 7 8 9 10 11 12 13
#!/usr/bin/env python def GetSomeInt(): result = raw_input("enter inreger value: ").strip().split(' ')[0] try: result = int(result) except ValueError as error: print "wrong value" return False else: print result return result

Прочитать числа из строки в массив
Как можно выписать в отдельный числовой массив числа из строки? Именно числа, а не цифры. К.

Как вывести по отдельности строки с одного листа на другой вместе с заголовком
Помогите, пожалуйста, реализовать следующее: Имеется файл XLSX со стимулирующими баллами.

Scanner - прочитать все числа из строки
Нужно с помощью сканера прочитать все числа из строки. Код работает не корректно, пропускает числа.

Прочитать текст из файла и вывести строки содержащие двузначные числа
помогите написать программу, которая считывает текст из файла и выводит на экран только ряды.

Как прочитать все строки?
Здравствуйте, я самоучка и тяжело разобраться в питоне. Подскажите возможно ли сделать такое и.

Как прочитать таблицу со 2 строки ?
Здравствуйте, как сделать чтобы читались все записи начиная со 2 строки ?

Как правильно прочитать строки в PHP
<?php $pertext=$_POST; $enru=$_POST; # Направление перевода (если с англ на ру = 1, если с ру на.

Источник

Читайте также:  Загрузка нескольких файлов форма html
Оцените статью