Форум программистов, компьютерный форум, киберфорум
Python для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.73/64: Рейтинг темы: голосов - 64, средняя оценка - 4.73
0 / 0 / 0
Регистрация: 07.09.2017
Сообщений: 36
1

Как объявить сразу несколько переменных с одинаковым типом и их вводить?

05.08.2018, 20:03. Показов 12953. Ответов 8
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Например, в С++ мы объявляем и вводим переменные следующим образом:
C++
1
2
int a,b,c;
cin >> a >> b >> c;
Вопрос, как такое сделать в python?
У меня как-то получилось следующим образом:
Python
1
2
3
4
a, b, c = float, float, float
input(a)
input(b)
input(c)
Есть ли альтернативные варианты?
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
05.08.2018, 20:03
Ответы с готовыми решениями:

Объявить несколько переменных как Integer
Согласен с тем, что объявление оптом - плохой пример для студентов (мягко говоря...). Но меня...

Как вводить данные,содержащие несколько переменных
Добрый вечер! Вопрос по задачке из книги Лафоре про старую денежную систему Великобритании,...

Как объявить несколько переменных в одной строке кода
При объявлении двух и более переменных появляются ошибки. С чем это связано? Раньше объявлялись...

Как установить сразу несколько переменных среды?
Здравствуйте!Мне нужно установить хотя бы 2 переменных среды для path переменной или 2 строковые...

8
1291 / 908 / 479
Регистрация: 05.12.2013
Сообщений: 3,073
05.08.2018, 20:08 2
В python не нужно объявлять переменные, сделать можно примерно так

Python
1
a, b, c = input().split()
0
0 / 0 / 0
Регистрация: 07.09.2017
Сообщений: 36
05.08.2018, 20:15  [ТС] 3
Сработало, теперь следующее, мне нужно найти, скажем, сумму этих трёх чисел, числа будут дробными. Как это реализовать?
Через это не сработало:
Python
1
print(a+b+c)
Выдал как string и дал результат: 123
0
1291 / 908 / 479
Регистрация: 05.12.2013
Сообщений: 3,073
05.08.2018, 20:20 4
Python
1
2
3
4
5
6
7
a, b, c = list(map(int, input().split()))
print(a+b+c)
 
#или
 
a, b, c = input().split()
print(int(a)+int(b)+int(c))
0
Эксперт Python
5418 / 3842 / 1214
Регистрация: 28.10.2013
Сообщений: 9,554
Записей в блоге: 1
05.08.2018, 20:22 5
Цитата Сообщение от KONIG Посмотреть сообщение
У меня как-то получилось следующим образом:
Вот это - получилось?
Python
1
2
3
4
5
6
7
8
>>> a, b, c = float, float, float;input(a);input(b);input(c)
<class 'float'>1
'1'
<class 'float'>2
'2'
<class 'float'>3
'3'
>>>
Все переменные, которые возвращает input - строки. Их каст в нужный тип делается исключительно вручную.
И, как указано выше, в связи с исключительно динамической природой языка Python, любая переменная может иметь значение какого угодно типа, меняя его как перчатки прямо в рантайме. Поэтому никакой тип нельзя закрепить ни за какой переменной.

P.S. Пример каста - в посте выше.
0
0 / 0 / 0
Регистрация: 07.09.2017
Сообщений: 36
05.08.2018, 20:24  [ТС] 6
Есть ли ещё альтернативы? Допустим, у меня переменных будет 10, мне каждый раз так и прописывать?

Добавлено через 1 минуту
Что делать если число переменных будет 10? Каждый раз так прописывать? Для каждой переменной его тип?
0
1291 / 908 / 479
Регистрация: 05.12.2013
Сообщений: 3,073
05.08.2018, 20:26 7
Цитата Сообщение от KONIG Посмотреть сообщение
если число переменных будет 10
для таких случаев есть списки и функция map
0
Эксперт Python
5418 / 3842 / 1214
Регистрация: 28.10.2013
Сообщений: 9,554
Записей в блоге: 1
05.08.2018, 21:14 8
Цитата Сообщение от KONIG Посмотреть сообщение
Что делать если число переменных будет 10?
А что делать, если их будет 100?1000?10000?
...Может, а ну его ...это программирование?

Ввод переменных разного типа (с хинтами какого типа должна быть переменная и последующим кастингом)
Python
1
2
3
4
5
6
7
8
9
>>> x,y,w,z = [var(input("%s>" % var)) for var in [bool,int,float,str]]
<class 'bool'>>0
<class 'int'>>1
<class 'float'>>2
<class 'str'>>3
>>> x,y,w,z
(True, 1, 2.0, '3')
>>> 
>>>
0
Просто Лис
Эксперт Python
5734 / 3533 / 1055
Регистрация: 17.05.2012
Сообщений: 10,366
Записей в блоге: 9
09.08.2018, 16:51 9
Цитата Сообщение от KONIG Посмотреть сообщение
Допустим, у меня переменных будет 10, мне каждый раз так и прописывать?
А как бы вы написали на с++? Тоже 10 переменных завели бы?
0
09.08.2018, 16:51
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
09.08.2018, 16:51
Помогаю со студенческими работами здесь

Как принять с консоли сразу несколько переменных?
Пример: int i; Console.WriteLine (&quot;Введите значение i&quot;); i = Convert.ToInt32...

Как сразу задать несколько переменных в одном InputBox ?
Я ввожу в свой скрипт несколько переменных: plata = InputBox(&quot;Введите номер платы&quot;,&quot;Ввод данных&quot;)...

Как ввести сразу несколько переменных через пробелы?
Например, в С++ это было так: cin &gt;&gt; a &gt;&gt; b &gt;&gt; с; А в Python так: num1,num2,num3 = input().split(&quot;...

Как заставить код принять с консоли сразу несколько переменных?
Никак не могу заставить его брать сразу несколько переменных с консоли в части кода: for (int x...

Как объявить свойство-коллекцию с обобщённым типом?
Не могу реализовать коллекцию со структурами в которых есть обобщения. Класс Army &lt;T&gt; мне не нужен...

Как правильно объявить переменную с типом данных Number?
Пытаюсь разобраться с типами данных Oracle - не могу понять, как правильно объявить переменную с...

Как открыть сразу картинку и текстовый файл с одинаковым названием?
WPF. OpenFileDialog На форме есть Image для изображения и TextBox для текста. Картинки и текстовые...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru