学python第二天

2017-01-13 08:17:35来源:CSDN作者:qq_32931825人点击

第七城市

python2.7 的 Built-in Functions 文档连接

字符串的索引、切片

感觉很像c语言里的数组,但比数组更方便,而且还不会有数组越界的情况。切片就是取子串。以串“32F”为例。

0:2即从下角标0开始切到第下角标2之前,从而得到32F的子串32

0:-1切出来的是从下角标0到最后1个字符之前的切片,32F中去掉最后一个字符F的子串为32

所以 0:2 和 0:-1 都可以得到数字部分32

val='32F'print val[0:-1]print val[0:2]print val[0:3]print val[0]print val[-3]

32
32
32F
3
3


北理工mooc的小例子

#coding=utf-8val = input()if val[-1] in ['C','c']:    f=1.8*float(val[0:-1])+32    print ("转换后的温度为:%.2fF"%f)elif val[-1] in ['F','f']:    c=(float(val[0:-1])-32)/1.8    print ("转换后的温度为: %.2fC"%c)else:    print("输入有误")

sample input:’32C’
sample output: 转换后的温度为:89.60F


运行上面这个程序的时候,如果是python2,那么应该输入’32C’,如果是python3,那么应该输入32C,而不用加引号。

解释:如果在python2中直接输入32C,而不是加引号的’32C’,那么就会报语法错误,因为它默认为int型,加引号后它识别为字符串型。但python3好像可以直接识别为字符串型,即输入32C,它会自动识别为’32C’

因为我用的是python2,所以为了方便,我做了一下小改进。直接使用了返回字符串型的raw_input(),raw的英文意思是生的,未加工的,raw_input()也大概就是最基础的输入。

#coding=utf-8val = raw_input()        #只是改了这一行if val[-1] in ['C','c']:    f=1.8*float(val[0:-1])+32    print ("转换后的温度为:%.2fF"%f)elif val[-1] in ['F','f']:    c=(float(val[0:-1])-32)/1.8    print ("转换后的温度为: %.2fC"%c)else:    print("输入有误")

sample input:32C
sample output: 转换后的温度为:89.60F


查看python2.7 input()函数说明后看到Equivalent to eval(raw_input(prompt)).也就是说input()等价于eval(raw_input())
提到了eval(),那就小程序调试一下…毕竟是新手我怕自己忘,方便自己以后看

print eval("3+2")print eval('3+2')

输出:
5
5

目前对eval()的认识就是将字符串当成表达式进行计算。好像python里单引号和双引号的字符串没什么区别啊。

第七城市

最新文章

123

最新摄影

微信扫一扫

第七城市微信公众平台