Подтвердить что ты не робот

Значения по умолчанию при пустом вводе пользователем

Здесь я должен установить значение по умолчанию, если пользователь введет значение с клавиатуры. Вот код, который пользователь может ввести значение:

input = int(raw_input("Enter the inputs : "))

Здесь значение будет присвоено переменному input после ввода значения и нажатия Enter. Есть ли какой-нибудь метод, который, если мы не введем значение и не нажмем непосредственно клавишу Enter, переменной будет напрямую присвоен значению по умолчанию, скажем, как input = 0.025?

4b9b3361

Ответ 1

input = int(raw_input("Enter the inputs : ") or "42")

Как это работает?

Если ничего не было введено, raw_input возвращает пустую строку. Пустая строка в python False bool("") -> False. Оператор or возвращает первое истинное значение, которое в данном случае равно "42".

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

Ответ 2

Вы можете сделать это следующим образом:

>>> try:
        input= int(raw_input("Enter the inputs : "))
    except ValueError:
        input = 0

Enter the inputs : 
>>> input
0
>>> 

Ответ 3

Один из способов -

default = 0.025
input = raw_input("Enter the inputs : ")
if not input:
   input = default

Другой способ -

input = raw_input("Enter the inputs : ") or 0.025

Ответ 4

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

input_str = raw_input("Ender the number:")

if len(input_str) == 0:
    input_number = DEFAULT
else:
    try:
        input_number = int(input_str)
    except ValueError:
        # handle input error or assign default for invalid input

Ответ 5

Большинство из приведенных выше ответов верны, но для Python 3.7, вот что вы можете сделать, чтобы установить значение по умолчанию.

user_input = input("is this ok ? - [default:yes] \n")
if len(user_input) == 0 :
    user_input = "yes"

Ответ 6

Для этого вы также можете использовать библиотеку click, которая предоставляет множество полезных функций для интерфейсов командной строки:

import click

number = click.prompt("Enter the number", type=float, default=0.025)
print(number)

Примеры ввода:

Enter the number [0.025]: 
 3  # Entered some number
3.0

или же

Enter the number [0.025]: 
    # Pressed enter wihout any input
0.025