
input()以字符串的方式获取用户输入:
1 2 3 4 5 6 7 8 | >>> x = input()
4.5
>>> type(x)
< class 'str'>
>>> y = input()
Do you love python?
>>> type(y)
< class 'str'>
|
输入的字符串可以通过运算符进行连接、复制等操作:
1 2 3 4 5 6 7 8 | >>> x = input()
abc
>>> x * 3
'abcabcabc'
>>> y = input()
123
>>> x + y
'abc123'
|
(更多学习内容,请点击python学习网)
但无法直接参与算术运算,如:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | >>> x = input()
5
>>> x + 5
Traceback (most recent call last):
File "< stdin >", line 1, in < module >
TypeError: must be str, not int
>>> x * 5
'55555'
>>> y = input()
6
>>> x * y
Traceback (most recent call last):
File "< stdin >", line 1, in < module >
TypeError: can't multiply sequence by non-int of type 'str'
|
此时可以使用转换,方法有多种:
1.指定类型转换
1 2 3 4 | 1 >>> y = int(input())
2 10
3 >>> type(y)
4 < class 'int'>
|
2.自动转换
函数eval() 用来执行一个字符串表达式,并返回表达式的值
1 | eval(expression, globals[ ], locals[ ])
|
global 和 locals 分别相当于全局和局部变量,eval函数会优先在局部变量存储空间中检索
1 2 3 4 | 1 >>> y = eval(input())
2 4.5
3 >>> type(y)
4 < class 'float'>
|
3.切割转换
利用函数split()通过指定分隔符对字符串进行切片。
1 | str.split(str="", num=string.count(str))
|
str为分割符,包括空格、\n,\t 等 ,num是分割次数。