python中str和input_python中input()与raw_input()的区别分析

使用input和raw_input都可以读取控制台的输入,但是input和raw_input在处理数字时是有区别的

纯数字输入

当输入为纯数字时

input返回的是数值类型,如int,float

raw_inpout返回的是字符串类型,string类型

输入字符串为表达式

input会计算在字符串中的数字表达式,而raw_input不会。

如输入 “57 + 3”:

input会得到整数60

raw_input会得到字符串”57 + 3”

python input的实现

看python input的文档,可以看到input其实是通过raw_input来实现的,原理很简单,就下面一行代码:

def input(prompt):

return (eval(raw_input(prompt)))

Python raw_input 读取输入值

下面介绍了python raw_input的用法,

使用raw_input 能够很方便的从控制台读入数据。

1.输入字符串

#!/usr/bin/env python

# -*- coding:utf-8 -*-

if __name__ == '__main__':

# 13222319810101****

nID = ''

while 1:

nID = raw_input("Input your id :")

if len(nID) != len("13222319810101****"):

print 'wring length of id,input again'

else:

break

print 'your id is %s' % (nID)

结果:

20171123165317.png

2.输入整数

#!/usr/bin/env python

# -*- coding:utf-8 -*-

if __name__ == '__main__':

nAge = int(raw_input("input your age :\n"))

if nAge > 0 and nAge < 120:

print 'thanks!'

else:

print 'bad age'

print 'your age is %d\n' % nAge

结果:

20171123165318.png

3.输入浮点型

#!/usr/bin/env python

# -*- coding:utf-8 -*-

if __name__ == '__main__':

fWeight = 0.0

fWeight = float(raw_input("input your weight\n"))

print 'your weight is %f' % fWeight

结果:

20171123165319.png

4.输入16进制数据

#!/usr/bin/env python

# -*- coding:utf-8 -*-

if __name__ == '__main__':

nHex = int(raw_input('input hex value(like 0x20):\n'), 16)

print 'nHex = %x,nOct = %d\n' % (nHex, nHex)

结果:

20171123165320.png

5.输入8进制数据

#!/usr/bin/env python

# -*- coding:utf-8 -*-

if __name__ == '__main__':

nOct = int(raw_input('input oct value(like 020):\n'), 8)

print 'nOct = %o,nDec = %d\n' % (nOct, nOct)

结果:

20171123165321.png

以下是其他网友的补充

我们来看input的源码

def input(prompt):

return eval(raw_input(prompt))

其实input也是调用了raw_input,只是做了eval处理

而eval有什么作用呢?

input:会根据用户的输入来做类型的转换

raw_input:则会把用户的输入都作为一个字符串来处理

下面是详细的补充:

首先,我们知道input()和raw_input()都是用来获取控制台的输入,当然输入的时候可以加上输入提示信息:

a = raw_input("Please input a:")

b = input("Please input b:")

那么这两者有什么区别呢?

input()支持用户输入数字或者表达式,不支持输入字符串,返回的是数字类型的数值。而raw_input()捕获的是最原始的输入,也就是说返回的是一个字符串,所以如果输入的是数字,那么我们必须要进行强制转换。例如:

a = int(raw_input("Please input the number a:"))

其实input()本质上还是使用raw_input()来实现的,只是调用完raw_input()之后再调用eval()函数,所以,除非对input()有特别需要,否则一般情况下我们都是推荐使用raw_input()来与用户交互。

map接收一个函数和一个可迭代对象(如列表)作为参数,用函数处理每个元素,然后返回新的列表。

ACM有时需要要a b c这样的一行格式输入,这时就用map函数来处理,这里假设a,b,c都是整数。

a,b,c = map(int, raw_input().split()),raw_input函数输入的是字符串,字符串的split方法用来将字符串分割成序列。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/501375.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

解决Android studio 加载不出网络图片的步骤

第一&#xff1a;网络问题&#xff0c;好像连家里的wifi没有手机的wifi能下载那个github的压缩包&#xff0c; 第二&#xff1a;版本问题&#xff0c;我把导入的包降低版本了&#xff0c;系统匹配成功&#xff0c; 第三&#xff1a;布局的时候需要把宽度高度的比例和加载的网…

list ajax封装,util-pagelist_基于layui封装的ajax分页列表

/*** layui分页列表模板引擎(使用时请使用new Pagelist(), 将每个分页模板当成一个独立的实例)* param tplid 模板id* param viewid 渲染模板容器的id* param pageid 分页容器id* param httpurl 请求接口的url* param param 请求接口的参数* param method 接口请求方式(get、po…

现代操作系统初理解

1.现代操作系统是由中断驱动的&#xff1a;如果没有进程要执行&#xff0c;没有I/O 设备要服务&#xff0c;也没有用户请求要响应&#xff0c;操作系统将会静静地等待某件事件的发生。 2.操作系统和用户共享了计算机系统的硬件和软件&#xff1a;既然是共享了&#xff0c;就可…

python没有菜单栏_解决Jupyter Notebook开始菜单栏Anaconda下消失的问题

出现的问题状况是&#xff1a;在Anaconda文件下&#xff0c;少了Jupyter Notebook快捷键&#xff0c;不然每次都要打开Anaconda Navigator再打开Jupyter Noterbook&#xff0c;有点麻烦。为了避免将Anaconda软件卸载重装才出现Jupyter Notebook&#xff0c;就去寻找解决办法。首…

小米机顶盒显示网络无法连接服务器,小米盒子无线网络连接不上怎么回事 - 卡饭网...

无线网络连接不上怎么回事,如何解决无线网络连接不上怎么回事,如何解决 无线网络连接不上怎么回事&#xff0c;如何解决&#xff0c;很多电脑用户可能会遇到这个问题。 一&#xff1a;先检查下你的无线网络开关是否打开&#xff0c;没打开请打开 二&#xff1a;检查你的无线网络…

操作系统提供什么服务、如何服务?

操作系统的服务&#xff1a; 1.用户界面&#xff1a;一种是命令行界面&#xff0c;就像黑窗的命令行输入&#xff0c;通过命令行执行文件或者文档&#xff0c;一种是图形用户界面&#xff0c;可以控制更多的I/O操作或者菜单选择 2.程序执行&#xff1a;操作系统在程序底层&am…

python创建变量_【转载】 Python动态生成变量

用Python循环创建多个变量&#xff0c; 如创建 a1 、a2 、a3 、a4 、a5 或 self.a1 、self.a2 、 self.a3 一. 可以通过python的内置函数locals 来完成 locals是python的内置函数&#xff0c;他可以以字典的方式去访问局部和全局变量。 python里面用名字空间记录着变量&#xf…

联想服务器忘记系统登录密码,联想路由器登陆密码忘记了怎么办

路由器是互联网系统中的重要组成部分&#xff0c;是连接因特网中局域网和广域网的设备&#xff0c;它可以根据信道实际的情况选择最合适的路径&#xff0c;那么你知道联想路由器登陆密码忘记了怎么办吗?下面是学习啦小编整理的一些关于联想路由器登陆密码忘记了的相关资料&…

中断、异常、处理对于操作系统的概念

为什么我们的应用程序不直接去访问我们的外部设备&#xff0c;为什么要通过操作系统去执行 1.操作系统对于计算机来说是被内核信任的第三方软件 2.只有内核可以执行特权指令 3.应用程序实际上是不可信任的 中断、异常和系统调用三者在操作系统中有何作用&#xff1f; 源头不…

编写五子棋的完整python代码_python实现五子棋游戏

本文实例为大家分享了python实现五子棋游戏的具体代码&#xff0c;供大家参考&#xff0c;具体内容如下 话不多说&#xff0c;直接上代码&#xff1a; 全部工程文件&#xff0c;在GitHub&#xff1a;五子棋 效果预览&#xff1a;#!/usr/bin/env python3 #-*- coding:utf-8 -*- …

服务器网站显示多协议,解决高防IIS8服务器https协议多个同时访问的解决方法

iis提示:至少一个其他网站正在使用同一个https绑定&#xff0c;而次绑定用另一个证书配置。确实要重用https绑定并将其他网站重新指定为使用新证书吗&#xff1f;网友解释&#xff1a;SNI指是一项用于改善SSL/TLS的技术&#xff0c;在SSLv3/TLSv1中被启用。它允许客户端在发起S…

如何计算实际物理地址?

1.确认物理地址&#xff1a; 2.由逻辑地址的页号去页表中查找对应的物理内存的页号 3.通过物理页号加上偏移量得到实际物理地址 例如&#xff1a;已知每页大小为1024byte&#xff08;逻辑页表和实际内存分页的大小都是1024byte&#xff09; 那么&#xff08;3,1023&#xf…

python高效处理文件_使用Python语言高效地处理一个文本文件

使用Python语言高效地处理一个文本文件&#xff1a; # -- encoding: utf-8 -- # 脚本功能&#xff1a;在指定的文件中查找指定的字符串 # 此脚本接受两个参数 # 参数1&#xff1a;指定一个文件名&#xff0c;在这个文件中查找字符串 # 参数2&#xff1a;指定一个字符串用于查找…

zabbix加vm虚拟服务器,zabbix监控vmware exsi主机的图文步骤

1、进入虚拟化vcenter中&#xff0c;用浏览器登录(客户端没找到地方设置)&#xff0c;新建一个只读用户zabbix。2、 登录vcenter客户端,将新建用户授权为只读授权过后可以使用新账号登录测试一下。3、开启exsi主机Managed Object Browser (MOB)功能&#xff0c;没有就默认开着的…

内存的覆盖和交换

覆盖&#xff1a;是程序员手动将程序内的互不影响的各个模块放在内存中&#xff0c;需要程序员自己把整个程序划分为若干个小的功能模块&#xff0c;并 交换&#xff1a;由操作系统完成程序之间的swap out 和 swap in&#xff08;由操作系统内部完成&#xff09; 未完待续

python tkinter控件_python tkinter 控件与布局 项目实战

from tkinter import * importtkinter.messagebox as messageboxclassTkdemo():def __init__(self): masterTk() master.title("missWjz") master.geometry(800x800)#创建菜单栏 menubar Menu(master) master.config(menumenubar)#创建下拉菜单栏 filemenu Menu(men…

服务器开设虚拟主机,服务器自动开设虚拟主机

服务器自动开设虚拟主机 内容精选换一换Linux操作系统XEN实例变更为KVM实例前&#xff0c;必须已完成必要的驱动安装和配置。当您需要变更的Linux操作系统的XEN实例比较多时候&#xff0c;推荐您使用本节的批量自动配置的方法安装驱动&#xff0c;通过自动化脚本的方式批量为Li…

PS小知识

PS扣完背景后&#xff0c;保存时要选择PNG格式&#xff0c;而不是JPEG格式 JPEG格式不支持透明背景 扣了后一样是白色背景 PHG支持透明背景 推荐一个抠图网址 叫 搞定设计 抠图还挺好用的 免费

python人工智能是什么意思_Python人工智能之路 jieba gensim 最好别分家之最简单的相似度实现...

简单的问答已经实现了,那么问题也跟着出现了,我不能确定问题一定是"你叫什么名字",也有可能是"你是谁","你叫啥"之类的,这就引出了人工智能中的另一项技术: 自然语言处理(NLP) : 大概意思就是 让计算机明白一句话要表达的意思,NLP就相当于计算机…

服务器c的环境配置文件,配置linux服务器环境(jdk+tomcat+mysql+nginx+redis+svn+nexus的maven私服)...

一.安装jdk&#xff1a;1.远程连接工具我用的是xshell6&#xff1b;切换到root用户2.创建安装目录&#xff1a;创建安装目录3.将jdk上传到目录下&#xff0c;并解压&#xff1a;上传文件解压tar zxvf jdk-8u191-linux-x64.tar.gz文件解压后4.修改配置文件&#xff1a;vim /etc/…