Как ввести ввод в питоне

Я принимаю участие в конкурсе, но не знаю, как заставить питона принять участие. Вот типичный пример. На сайте приведен пример того, как принимать данные, но они используют C и Java ( нажмите здесь). Пожалуйста, помогите мне разобраться, как заставить Python принимать данные в этом случае.

4 ответа

Решение

Есть несколько способов сделать это.

Принимая участие от переводчика

Для Python 2.x вы можете использовать raw_input() функция:

my_input = raw_input("Please enter an input: ")
#do something with my_input

Обратите внимание, что ввод всегда является строкой. Чтобы получить номер, вы можете использовать встроенный int() функция:

my_input = int(raw_input("Please enter an input: "))
#do something with my_input

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

Есть еще одна функция, input в Python 2.x. Тем не менее, в этой версии Python, input оценивает ввод, что является плохой идеей. Не рекомендуется его использовать.

Для Python 3.x, однако, вы можете использовать input() работать без проблем, так как это замена для raw_input:

my_input = input("Please enter an input: ")
#do something with my_input

Принимая входные данные из аргументов командной строки

Вы также можете получить свой ввод из аргументов командной строки при выполнении вашего скрипта следующим образом:

$ python my_script.py arg1 arg2

Аргументы будут сохранены в списке sys.argv, sys.argv[0] это первый аргумент, sys.argv[1] это второй аргумент и тд.
Пример:

import sys
my_input = sys.argv[0]
#do something with my_input

Подробности смотрите здесь. Этот метод работает для обеих версий, Python 3.x и 2.x.

Надеюсь это поможет!

Один из способов это: http://docs.python.org/2/library/functions.html

Для чего-то более продвинутого: http://docs.python.org/2/library/cmd.html

Вы можете использовать функции input или raw_input.

Замечания: input подвержен проблемам безопасности, поэтому используйте raw_input вместо.

Например:

inputString = raw_input()

это прочитает строку ввода и сохранит ее в inputString, Если вы хотите int,

inputInt = int(raw_input())

Лучший способ получить информацию для пользователя - использовать raw_input, это будет принимать пользовательский ввод в виде строки. Позвольте мне продемонстрировать:

>>> var = raw_input("Enter")
Enter>? happy
>>> var
'happy'

Обратите внимание на кавычки на счастливом, это указывает на строку. Вы также можете заметить, inputи да, это можно использовать для ввода данных пользователем, но вот один пример, где это плохая идея:

>>> a = 2
>>> input("Enter")
Enter>? a+1
3

Вот, input на самом деле оценивается, так как мы уже объявили a, a + 1 == 3, и мы видим это как вывод в нашей сессии консоли. Это позже становится проблемой безопасности (вы не хотели бы, чтобы пользователи возились с вашими переменными), поэтому для пользовательского ввода, raw_input это лучший выбор.

Так как вы получаете string от raw_input, вы можете преобразовать его в любое, если хотите, например:

>>> var = raw_input("Enter")
Enter>? 122
>>> var = int(var)
>>> var
122

Однако поплавки не будут работать с int:

>>> int('1.223')
Traceback (most recent call last):
  File "<console>", line 1, in <module>
ValueError: invalid literal for int() with base 10: '1.223'

Вам нужно будет использовать float вот, тогда это работает:

>>> float('1.223')
1.223
Другие вопросы по тегам