Python基础知识_浅谈用户交互

yipeiwu_com6年前Python基础

1、raw_input():

raw_input()是python 的内建函数,通过读取控制台的输入与用户实现交互。

raw_input()可以让用户输入字符串(即等待用户输入内容),并存放到一个变量里。

#!/usr/bin/env python
# -*- coding:utf-8 -*-

#将用户输入的内容赋值给变量user
user = raw_input("请输入用户名:")

#将用户输入的内容赋值给变量pwd
pwd = raw_input("请输入密码:")

#打印输入的内容
print(user)
print(pwd)

运行结果:

2、getpass模块:

输入密码时,如果想要不可见,需要利用 getpass 模块中的 getpass 方法,即:

#!/usr/bin/env python
# -*- coding:utf-8 -*-
import getpass
user = raw_input("请输入用户名:")

#将用户输入的内容赋值给变量pwd
pwd = getpass.getpass("请输入密码:")
print(user)
print(pwd)

运行结果:

3、input():

在python3上写raw_input()会出现错误(命名错误:名称'raw_input'未定义):

在python2里面是用的raw_input()完成等待用户输入,而在python3里面是用的input()来完成等待用户输入。

#!/usr/bin/env python
# -*- coding:utf-8 -*-
user = input("请输入用户名:")
pwd = input("请输入密码:")
print(user)
print(pwd)

运行结果:

4、Python2 和 Python3 的区别:

因为在python3的版本里是没有raw_input()函数的,只能使用input()。

在python2的版本里也是有input()的,只不过在python2里,你输入什么格式就把它当做什么格式来处理。

在python3中用input()函数时,输入的所有内容都会被当做字符串去处理,若是需要和一个数字进行比较,就会出错,所以需要用 int() 将输入的字符串转换成数字(前提是输入的本身就是个数字,否则就会报错)。

#!/usr/bin/env python
# -*- coding:utf-8 -*-
name = input("请输入数字,进行比较:")
if name < 9:
  print("猜小了,请猜大一些")
elif name > 9:
  print("猜大了,请猜小一些")
else:
  print("猜正确了")

运行结果:

转换后:

#!/usr/bin/env python
# -*- coding:utf-8 -*-
name = int(input("请输入数字,进行比较:"))
if name < 9:
  print("猜小了,请猜大一些")
elif name > 9:
  print("猜大了,请猜小一些")
else:
  print("猜正确了")

运行结果:

以上这篇Python基础知识_浅谈用户交互就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持【听图阁-专注于Python设计】。

相关文章

python实现关闭第三方窗口的方法

背景 最近在测试一款软件的关闭第三方窗口的功能,感觉实现应该挺简单的。所以就尝试了。由于说它的实现是靠c++实现的,本人对c++实在不在行,但是python的第三方库实际上是封装了一套w...

解析Python的缩进规则的使用

Python中的缩进(Indentation)决定了代码的作用域范围。这一点和传统的c/c++有很大的不同(传统的c/c++使用花括号{}符,python使用缩进空格)。 每行代码中开头...

python中csv文件的若干读写方法小结

如下所示: //用普通文本文件方式打开和操作 with open("'file.csv'") as cf: lines=cf.readlines() .........

python算法学习之基数排序实例

基数排序法又称桶子法(bucket sort)或bin sort,顾名思义,它是透过键值的部份资讯,将要排序的元素分配至某些"桶"中,藉以达到排序的作用,基数排序法是属于稳定性的排序,其...

详解python持久化文件读写

持久化文件读写: f=open('info.txt','a+') f.seek(0) str1=f.read() if len(str1)==0: f1 = open('info...