51 lines
		
	
	
		
			3.1 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
		
		
			
		
	
	
			51 lines
		
	
	
		
			3.1 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
| 
								 | 
							
								---
							 | 
						|||
| 
								 | 
							
								title: Python Input Function
							 | 
						|||
| 
								 | 
							
								localeTitle: Входная функция Python
							 | 
						|||
| 
								 | 
							
								---
							 | 
						|||
| 
								 | 
							
								Много раз в программе нам нужен какой-то ввод от пользователя. Ввод данных от пользователя заставляет программу чувствовать себя интерактивной. В Python 3 для ввода ввода у пользователя есть функция `input()` . Если вызывается функция ввода, поток программы будет остановлен до тех пор, пока пользователь не даст вход и не завершит вход с помощью клавиши возврата. Давайте посмотрим несколько примеров:
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								1.  Когда мы просто хотим принять вход:
							 | 
						|||
| 
								 | 
							
								    
							 | 
						|||
| 
								 | 
							
								    # Это просто даст подсказку без какого-либо сообщения
							 | 
						|||
| 
								 | 
							
								    
							 | 
						|||
| 
								 | 
							
								    inp = input ()
							 | 
						|||
| 
								 | 
							
								    
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								 [Код запуска](https://repl.it/CUqX/0)
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								1.  Чтобы дать подсказку с сообщением:
							 | 
						|||
| 
								 | 
							
								    
							 | 
						|||
| 
								 | 
							
								    prompt _с_ сообщением = input (' «)
							 | 
						|||
| 
								 | 
							
								    
							 | 
						|||
| 
								 | 
							
								    # \_
							 | 
						|||
| 
								 | 
							
								    
							 | 
						|||
| 
								 | 
							
								    # «\_» На выходе - это приглашение
							 | 
						|||
| 
								 | 
							
								    
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								 [Код запуска](https://repl.it/CUqX/1)
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								3\. Когда мы хотим взять целочисленный ввод:
							 | 
						|||
| 
								 | 
							
								```
							 | 
						|||
| 
								 | 
							
								number = int(input('Please enter a number: ')) 
							 | 
						|||
| 
								 | 
							
								```
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								 [Код запуска](https://repl.it/CUqX/2)
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								Если вы введете не целое значение, тогда Python вызовет ошибку `ValueError` . **Поэтому всякий раз, когда вы используете это, убедитесь, что вы его тоже поймали.** В противном случае ваша программа неожиданно остановится после запроса.
							 | 
						|||
| 
								 | 
							
								```
							 | 
						|||
| 
								 | 
							
								number = int(input('Please enter a number: ')) 
							 | 
						|||
| 
								 | 
							
								 # Please enter a number: as 
							 | 
						|||
| 
								 | 
							
								 # Enter a string and it will throw this error 
							 | 
						|||
| 
								 | 
							
								 # ValueError: invalid literal for int() with base 10 'as' 
							 | 
						|||
| 
								 | 
							
								```
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								4\. Когда нам нужен ввод строки:
							 | 
						|||
| 
								 | 
							
								```
							 | 
						|||
| 
								 | 
							
								string = str(input('Please enter a string: ')) 
							 | 
						|||
| 
								 | 
							
								```
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								 [Код запуска](https://repl.it/CUqX/3)
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								Хотя, входы хранятся по умолчанию в виде строки. Использование функции `str()` позволяет считывателю кода понять, что вход будет «строкой». Хорошая практика - указать, какой тип ввода будет сделан заранее.
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								[Официальные документы](https://docs.python.org/3/library/functions.html#input)
							 |