前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >python 用户交互

python 用户交互

作者头像
py3study
发布2018-08-02 15:46:01
1.1K0
发布2018-08-02 15:46:01
举报
文章被收录于专栏:python3python3

input是个内建函数,具体用法:接收用户输入的内容,输入的字符串,接收到就是字符串;输入的是数字,接收的就是数字

来个简单的用户名和密码输入的例子,代码如下:

代码语言:javascript
复制
#!/usr/bin/env python
# coding: utf-8
__author__ = 'www.py3study.com'

username = input("username:")
password = input("password:")
print(username,password)

执行效果如下:

jiaohu.gif
jiaohu.gif

由于密码输入的时候,是明文的,如果不想显示密码输入怎么办呢?

需要用到python标准库的getpass模块

python标准库: 就是默认自带的库,不用安装,直接import使用即可

代码如下:

代码语言:javascript
复制
#!/usr/bin/env python
# coding: utf-8
__author__ = 'www.py3study.com'

import getpass

username = input("username:")
password = getpass.getpass("password:")
print(username,password)

注意:

getpass 无法在PyCharm编辑器中运行,运行的时候,输入用户名之后,就好像卡住了一样,没法输出password:输入框

那么就需要在cmd中手动执行命令才可以:

使用win键+r 找到运行,输入cmd,直接回车,就打开了cmd命令行窗口

我的PyCharm里面的python脚本放在E:\python_script目录

切换到E盘,执行脚本

jiaohu3.gif
jiaohu3.gif

接下来,将一个稍微难一点的例子

要求输入对应的变量后,打印个人信息

例如:

------info of xia ------ Name: xia Age: 25 Job: it Salary: 5000

代码如下:

代码语言:javascript
复制
name = input("name:")
age = int(input("age:"))
job = input("job:")
salary = input("salary:")

info = '''
------info of %s ------
Name: %s
Age: %d
Job: %s
Salary: %s
''' % (name,name,age,job,salary)
print(info)

运行效果如下:

shuru1.gif
shuru1.gif

代码解释:

int() 表示将变量转换为数字类型

''' ''' 是python3的多行注释方法,也可以用来做格式化输出

%格式符(字符串格式化,string formatting)

格式符为真实值预留位置,并控制显示的格式。格式符可以包含有一个类型码,用以控制显示的类型

常用的类型如下:

%s 表示string(字符串) %d 表示数字,如果输入的不是数字,会报错

TypeError: %d format: a number is required, not st

可以帮助检查数据类型 %f 表示浮点(小数点)

在''' ''' 里面出现了5个格式符

所以%()里面出现了5个变量,是一一匹配的。

第二种写法,用fromat函数,使用关键字参数,代码如下:

代码语言:javascript
复制
#!/usr/bin/env python
# coding: utf-8
__author__ = 'www.py3study.com'

name = input("name:")
age = int(input("age:"))
job = input("job:")
salary = input("salary:")

info = '''
------info of {_name} ------
Name: {_age}
Age: {_job}
Job: {_job}
Salary: {_salary}
'''.format(_name = name,
             _age  =  age,
             _job  = job,
             _salary  = salary)
print(info)

执行效果还是和上面一样

注意: 关键字参数值要对得上

_name对应的是上边声明的name变量,下面的依此类推

format的第二种使用方法,使用位置参数,代码如下:

代码语言:javascript
复制
#!/usr/bin/env python
# coding: utf-8
__author__ = 'www.py3study.com'

name = input("name:")
age = int(input("age:"))
job = input("job:")
salary = input("salary:")

info = '''
------info of {0} ------
Name: {0}
Age: {1}
Job: {2}
Salary: {3}
'''.format(name,age,job,salary)
print(info)

执行效果还是和上面一样

注意:位置参数不受顺序约束,且可以为{},只要format里有相对应的参数值即可,参数索引从0开.

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2018-02-11 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档