【有书共读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#
查看22道真题和解析
