【有书共读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#