学python第二天

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-8
val = 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-8
val = 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里单引号和双引号的字符串没什么区别啊。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值