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版

本文实例为大家分享了python抖音表白神器,供大家参考,具体内容如下 # -*- coding: utf-8 -*- import sys from PyQt5 import...

python使用PyGame播放Midi和Mp3文件的方法

本文实例讲述了python使用PyGame播放Midi和Mp3文件的方法。分享给大家供大家参考。具体实现方法如下: ''' pg_midi_sound101.py play midi...

python读取指定字节长度的文本方法

软件版本 Python 2.7.13; Win 10 场景描述 1、使用python读取指定长度的文本; 2、使用python读取某一范围内的文本。 Python代码 test.txt文...

利用Python将时间或时间间隔转为ISO 8601格式方法示例

利用Python将时间或时间间隔转为ISO 8601格式方法示例

前言 大家都知道,Python自带的datetime库提供了将datetime转为ISO 8610格式的函数,但是对于时间间隔(inteval)并没有提供转换的函数,下面我们动手写一个。...

python获取多线程及子线程的返回值

最近有个需求,用多线程比较合适,但是我需要每个线程的返回值,这就需要我在threading.Thread的基础上进行封装 import threading class MyThrea...