【有书共读05】《python编程》读书笔记-5

大多数程序都旨在解决最终用户的问题,为此,需要从用户那里获取一些信息。

python中,函数input()让程序暂停运行,等待用户输入一些文本。

记住,是字符串!字符串!!!

 

1、如何使用input( )

x=input(message)

这里message一般是给用户输入的提示,一个字符串,程序输出到message就暂停,等待用户输入数据

用户输入数据之后input()将用户输入的值以字符串形式传给变量x

我们在shell里运行一下程序试一试

>>>x=input("Please Enter a Message:")
Please Enter a Message:I like python
>>> x

'I like python'

我们可以看出x是一个字符串

 

>>>x=input("Please Enter a Message:")
Please Enter a Message:123
>>> x
'123'

我们想获得一个整型数据时,但是我们得到的是字符串

这就到我们的关键点了

如何用input()获取任意类型的数据!

 

2、如何用python获取任意类型的数据(敲黑板!重点!!!

我们可以进行类型转换!

c++等语言中都学习过强制类型转换,但是那个字符类型数据类型之间以ASCII码进行转换的

例如字符"0"对应的ASCII码是整数48,这个转换看起来很麻烦。所以很是怀疑能行吗

但是!!!

python不是按照这个规则进行转换的(用什么规则我也不知道\无辜脸

我们来实验一下

>>>x=input("Please Enter a Message:")
Please Enter a Message:123
>>> x
'123'
>>>x=int(x)
>>> x
123

完美!

但是书上只写着用int()获取数值类型,我们本着求(作)知(死)的精神试一试能不能用int()转换float类型~

>>>x=input("Please Enter a Message:")
Please Enter a Message:1.1111
>>>x=int(x)
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ValueError: invalid
literal for int() with base 10: '1.1111'

 

额。。。出错了

算了,老实点,用float

 

>>>x=input("Please Enter a Message:")
Please Enter a Message:1.23
>>>x=float(x)
>>> x
1.23

 

完美

 

再试一试bool类型的

>>> x=input("Please Enter a Message:")
Please Enter a Message:True
>>> x
'True'
>>> x=bool(x)
>>> x
True

好像是对的?!

再试一试

>>>x=input("Please Enter a Message:")
Please Enter a Message:False
>>> x
'False'
>>> x=bool(x)
>>> x
True

 

???好像不行

试一试其他的

 

>>> x=input("Please Enter a Message:")
Please Enter a Message:dsfs
>>> x
'dsfs'
>>> x=bool(x)
>>> x
True

应该是只要有值输入就是True,囧

总结一下:

1)你希望得到什么类型的数据就用什么类型进行类型转换(bool除外

2)转换的类型不能和你的输入相冲突

3)学语言要有探索精神!

#Python#
全部评论
棒!!!
点赞
送花
回复
分享
发布于 2018-05-25 11:00
bool()函数,除了"",'' 空串,None,[],0,0.0,其余都是True
点赞
送花
回复
分享
发布于 2018-05-25 13:08
滴滴
校招火热招聘中
官网直投

相关推荐

头像
不愿透露姓名的神秘牛友
05-14 18:44
点赞 评论 收藏
转发
点赞 收藏 评论
分享
牛客网
牛客企业服务