此处将为大家介绍关于Python中如何将输入数据转换为数字?的详细内容,并且为您解答有关python中如何将输入数据转换为数字的方法的相关问题,此外,我们还将为您介绍关于python中,如何将字符串转
此处将为大家介绍关于Python中如何将输入数据转换为数字?的详细内容,并且为您解答有关python中如何将输入数据转换为数字的方法的相关问题,此外,我们还将为您介绍关于python 中,如何将字符串转换为数字(将数字转换为整型),字符串的 10 转换为整型的 10,10.5 转换为 10、python 如何将输入值转换为数学函数、Python 小白,请问如何将获取的用户输入由字符串转换为数字、Python-如何在Python中从字符串中提取数字?的有用信息。
本文目录一览:- Python中如何将输入数据转换为数字?(python中如何将输入数据转换为数字的方法)
- python 中,如何将字符串转换为数字(将数字转换为整型),字符串的 10 转换为整型的 10,10.5 转换为 10
- python 如何将输入值转换为数学函数
- Python 小白,请问如何将获取的用户输入由字符串转换为数字
- Python-如何在Python中从字符串中提取数字?
Python中如何将输入数据转换为数字?(python中如何将输入数据转换为数字的方法)
如何解决Python中如何将输入数据转换为数字??
Python 2.x
有两个函数用于获取用户输入,分别称为input
和raw_input
。它们之间的区别是,raw_input
不评估数据并以字符串形式原样返回。但是,input
将对你输入的内容进行评估,评估结果将返回。例如,
>>> import sys
>>> sys.version
''2.7.6 (default, Mar 22 2014, 22:59:56) \n[GCC 4.8.2]''
>>> data = input("Enter a number: ")
Enter a number: 5 + 17
>>> data, type(data)
(22, <type ''int''>)
5 + 17评估数据,结果为22。当它对表达式求值时5 + 17,它将检测到你要添加两个数字,因此结果也将是同一int类型。因此,类型转换是免费完成的,并22作为的结果返回input
并存储在data
变量中。你可以将其input
视为raw_input
与eval
呼叫组成的。
>>> data = eval(raw_input("Enter a number: "))
Enter a number: 5 + 17
>>> data, type(data)
(22, <type ''int''>)
注意:input
在Python 2.x 中使用时应小心。我在这个答案中解释了为什么在使用它时要小心。
但是,raw_input
不评估输入并以字符串形式原样返回。
>>> import sys
>>> sys.version
''2.7.6 (default, Mar 22 2014, 22:59:56) \n[GCC 4.8.2]''
>>> data = raw_input("Enter a number: ")
Enter a number: 5 + 17
>>> data, type(data)
(''5 + 17'', <type ''str''>)
Python 3.x
Python 3.x input和Python 2.x raw_input类似,raw_input在Python 3.x中不可用。
>>> import sys
>>> sys.version
''3.4.0 (default, Apr 11 2014, 13:05:11) \n[GCC 4.8.2]''
>>> data = input("Enter a number: ")
Enter a number: 5 + 17
>>> data, type(data)
(''5 + 17'', <class ''str''>)
要回答你的问题,由于Python 3.x不会评估和转换数据类型,因此必须使用显式转换为ints int,如下所示
x = int(input("Enter a number: "))
y = int(input("Enter a number: "))
你可以接受任意基数的数字,并使用int函数将其直接转换为10基数
>>> data = int(input("Enter a number: "), 8)
Enter a number: 777
>>> data
511
>>> data = int(input("Enter a number: "), 16)
Enter a number: FFFF
>>> data
65535
>>> data = int(input("Enter a number: "), 2)
Enter a number: 10101010101
>>> data
1365
第二个参数告诉输入数字的基础是什么,然后在内部对其进行理解和转换。如果输入的数据有误,将抛出ValueError
。
>>> data = int(input("Enter a number: "), 2)
Enter a number: 1234
Traceback (most recent call last):
File "<input>", line 1, in <module>
ValueError: invalid literal for int() with base 2: ''1234''
对于可以包含小数部分的值,类型应为float
而不是int
:
x = float(input("Enter a number:"))
除此之外,你的程序可以像这样进行一些更改
while True:
...
...
if input("Play again? ") == "no":
break
你可以使用break
和摆脱变量while True
。
解决方法
Python中如何将输入数据转换为数字?
python 中,如何将字符串转换为数字(将数字转换为整型),字符串的 10 转换为整型的 10,10.5 转换为 10
说明:
在实际的应用过程中,有的时候可能会遇到字符串的 10,需要将字符串的 10 转换为数字的 10
在此记录下,通过 int 函数转换的过程。
操作过程:
1. 将字符串转换为整型的 10
>>> str1 = "10" #将一个字符串的10赋给变量str1
>>> type(str1)
<class ''str''> #通过type函数查出来类型是str
>>> int1 = int(str1) #通过int函数,转换为了int类型的10
>>> type(int1)
<class ''int''>
>>> int1
10
2. 如果不传任何的参数,int 的结果是 0
>>> int()
0
3. 如果传入的是小数,转换的结果是没有小数部分
>>> int(10.0)
10
>>> int(10.5)
10
>>> int(-10.5)
-10
>>> int(-10.0)
-10
备注:无论传入的正数,还是负数,都会将小数部分去掉,符号保留。
int () 函数的官方解释:
def __init__(self, x, base=10): # known special case of int.__init__
"""
int([x]) -> integer
int(x, base=10) -> integer
Convert a number or string to an integer, or return 0 if no arguments
are given. If x is a number, return x.__int__(). For floating point
numbers, this truncates towards zero.
If x is not a number or if base is given, then x must be a string,
bytes, or bytearray instance representing an integer literal in the
given base. The literal can be preceded by ''+'' or ''-'' and be surrounded
by whitespace. The base defaults to 10. Valid bases are 0 and 2-36.
Base 0 means to interpret the base from the string as an integer literal.
>>> int(''0b100'', base=0)
4
# (copied from class doc)
"""
pass
文档创建时间:2018 年 12 月 7 日 16:53:32
python 如何将输入值转换为数学函数
其实据我所知,你不需要输入 n。
x = int(input('Enter x value: '))
def f(x):
return 2*x**2 - 2*x+2
n = f(x)
编辑,在重读其他人的回答后,它可能需要 eval() 只是你不能写“2 * x ^ 2 - 2 * x + 2”,正确的写法是x**2而不是x^2
,你的意思是(?):
def f(x,n):
return n*x**2 - 2*x + 2
或者您的意思是实际更改运算符?
目前提出的问题在数学上是不可能的。您定义 x & n 并返回一个函数,您可能希望也可能不想将其等同于 n 但它的所有已定义条目。
仍在猜测实际问题,但如果
y = input("Enter equation to evaluate")
并且您希望 y 是二次方,即:
y = "a*x**b - c*x + d"
然后您可以从以下位置获取所有内容:
import re
y1 = re.split('[* ]',y)
a = y1[0]
b = y1[3] #as there is a null ent between the ** we skip y1[2] and y[1] is 'x'
c = y1[5]
d = y1[8]
如果您想要运算符,那么遵循起来会有点困难。因此,如果您确实需要它们,我们会穿过那座桥。
或者,正如其他人所建议的,只需使用 eval()!
,您可以尝试使用 eval
。
x=int(input('...'))
n=input('...') # note that input returns a string
def f(x):
global n
return(eval(n))
,
我想,你在问。 如何将输入值转换为数学表达式?
如果是这样!
使用 eval() 在蟒蛇
Python 小白,请问如何将获取的用户输入由字符串转换为数字
x = input(''x = '')
y = input(''y = '')
z = input ('' 符号是 '')
if z == ''+'':
print(''x + y ='',x + y)
if z == ''-'':
print(''x - y ='',x - y)
if z == ''*'':
print(''x * y ='',x * y)
if z == ''/'':
print(''x / y ='',x / y)
想做个小计算器,但最后的结果是字符串的拼接或者显示出错
Python-如何在Python中从字符串中提取数字?
如何解决Python-如何在Python中从字符串中提取数字??
如果只想提取正整数,请尝试以下操作:
>>> str = "h3110 23 cat 444.4 rabbit 11 2 dog"
>>> [int(s) for s in str.split() if s.isdigit()]
[23, 11, 2]
我认为这比正则表达式示例更好,原因有三点。首先,你不需要其他模块;其次,它更具可读性,因为你无需解析regex
迷你语言;第三,它更快(因此可能更pythonic
):
python -m timeit -s "str = ''h3110 23 cat 444.4 rabbit 11 2 dog'' * 1000" "[s for s in str.split() if s.isdigit()]"
100 loops, best of 3: 2.84 msec per loop
python -m timeit -s "import re" "str = ''h3110 23 cat 444.4 rabbit 11 2 dog'' * 1000" "re.findall(''\\b\\d+\\b'', str)"
100 loops, best of 3: 5.66 msec per loop
这将无法识别浮点数,负整数或十六进制格式的整数。如果你不能接受这些限制,则可以通过以下亭亭玉立的答案解决问题。
解决方法
我将提取字符串中包含的所有数字。哪个更适合pur
例:
line = "hello 12 hi 89"
结果:
[12,89]
我们今天的关于Python中如何将输入数据转换为数字?和python中如何将输入数据转换为数字的方法的分享已经告一段落,感谢您的关注,如果您想了解更多关于python 中,如何将字符串转换为数字(将数字转换为整型),字符串的 10 转换为整型的 10,10.5 转换为 10、python 如何将输入值转换为数学函数、Python 小白,请问如何将获取的用户输入由字符串转换为数字、Python-如何在Python中从字符串中提取数字?的相关信息,请在本站查询。
本文标签: