想了解如何在Python中将字符串转换为int?的新动态吗?本文将为您提供详细的信息,我们还将为您解答关于python将字符串转化为int的相关问题,此外,我们还将为您介绍关于Python-如何在Py
想了解如何在Python中将字符串转换为int?的新动态吗?本文将为您提供详细的信息,我们还将为您解答关于python将字符串转化为int的相关问题,此外,我们还将为您介绍关于Python-如何在Python中将字符串转换为整数?、Python中将字符串转换为函数、python中的open方法不允许我将字符串转换为int、在Python中将十六进制字符串转换为int的新知识。
本文目录一览:- 如何在Python中将字符串转换为int?(python将字符串转化为int)
- Python-如何在Python中将字符串转换为整数?
- Python中将字符串转换为函数
- python中的open方法不允许我将字符串转换为int
- 在Python中将十六进制字符串转换为int
如何在Python中将字符串转换为int?(python将字符串转化为int)
我为小示例应用程序获得的输出如下:
Welcome to the Calculator!Please choose what you''d like to do:0: Addition1: Subtraction2: Multiplication3: Division4: Quit Application0Enter your first number: 1Enter your second number: 1Your result is:11
这是因为additional()方法将input()作为字符串而不是数字。如何将它们用作数字?
这是我的整个脚本:
def addition(a, b): return a + bdef subtraction(a, b): return a - bdef multiplication(a, b): return a * bdef division(a, b): return a / bkeepProgramRunning = Trueprint "Welcome to the Calculator!"while keepProgramRunning: print "Please choose what you''d like to do:" print "0: Addition" print "1: Subtraction" print "2: Multiplication" print "3: Division" print "4: Quit Application" #Capture the menu choice. choice = raw_input() if choice == "0": numberA = raw_input("Enter your first number: ") numberB = raw_input("Enter your second number: ") print "Your result is:" print addition(numberA, numberB) elif choice == "1": numberA = raw_input("Enter your first number: ") numberB = raw_input("Enter your second number: ") print "Your result is:" print subtraction(numberA, numberB) elif choice == "2": numberA = raw_input("Enter your first number: ") numberB = raw_input("Enter your second number: ") print "Your result is:" print multiplication(numberA, numberB) elif choice == "3": numberA = raw_input("Enter your first number: ") numberB = raw_input("Enter your second number: ") print "Your result is:" print division(numberA, numberB) elif choice == "4": print "Bye!" keepProgramRunning = False else: print "Please choose a valid option." print "\n"
答案1
小编典典由于您正在编写一个可能也接受浮点数(1.5, 0.03
)的计算器,因此,更可靠的方法是使用以下简单的辅助函数:
def convertStr(s): """Convert string to either int or float.""" try: ret = int(s) except ValueError: #Try float. ret = float(s) return ret
这样,如果int转换不起作用,则将返回浮点数。
编辑:division
如果您不完全了解python
2.x如何处理整数除法,则您的函数也可能会导致一些悲伤的表情。
简而言之,如果要10/2
等于2.5
而 不是 2
,则需要执行from __future__ importdivision
或强制将其中一个或两个参数转换为float,如下所示:
def division(a, b): return float(a) / float(b)
Python-如何在Python中将字符串转换为整数?
我有一个来自MySQL查询的元组,像这样:
T1 = ((''13'', ''17'', ''18'', ''21'', ''32''), (''07'', ''11'', ''13'', ''14'', ''28''), (''01'', ''05'', ''06'', ''08'', ''15'', ''16''))
我想将所有字符串元素转换为整数,然后将它们放回列表列表中:
T2 = [[13, 17, 18, 21, 32], [7, 11, 13, 14, 28], [1, 5, 6, 8, 15, 16]]
我试图用它来实现它,eval但是还没有得到任何体面的结果。
答案1
小编典典int()
是Python标准的内置函数,用于将字符串转换为整数值。你可以使用包含数字作为参数的字符串来调用它,然后返回转换为整数的数字:
print (int("1") + 1)
上面的照片2。
如果你知道列表T1的结构(它仅包含列表,仅一个级别),则可以在Python 2中执行此操作:
T2 = [map(int, x) for x in T1]
在Python 3中:
T2 = [list(map(int, x)) for x in T1]
Python中将字符串转换为函数
这个问题的来源是在看python中的装饰器的时候,例子里给了这样一段代码:
#-*- coding: UTF-8 -*-
import time
def foo():
print ''in foo()''
# 定义一个计时器,传入一个,并返回另一个附加了计时功能的方法
def timeit(func):
# 定义一个内嵌的包装函数,给传入的函数加上计时功能的包装
def wrapper():
start = time.clock()
func()
end =time.clock()
print ''used:'', end - start
# 将包装后的函数返回
return wrapper
foo = timeit(foo)
foo()
上述代码实现了一个装饰器,但没有处理foo()函数带参数以及返回值的情况。为了改进这段代码,首先要理解的是python中参数传递*和**的问题。
如果在函数定义时候,按照如下定义的:
#代码段1
def foo(*a):
pass
或者
#代码段2
def foo(**a):
pass
这种定义方法相当与C语言中的不定参数,在定义的时候,函数将被传入的参数是未知的,运行的时候,代码段1 的代码 参数将会一tuple的形式组织起来,传入函数; 代码段2 的代码,参数将会以dictionary的形式传入
*和**除了在定义函数的时候有用,它的另一个功能就是对tuple和dict进行展开。
于是我们便可以利用这个运算符对最开始的代码进行改进:
#-*- coding: UTF-8 -*-
import time
def foo(a):
print '' in foo() %s''%a
return 100
def foo2():
print '' in foo2()''
return
#定义定时器,传入一个,并返回另一个附加了计时功能的方法
def timeit(func):
#定义一个内嵌的包装函数,给传入的函数加上计时的包装
def wrapper(*args,**args2): ######1#########
start = time.clock()
res=func(*args,**args2) #########2###########
end = time.clock()
print ''used:'',end - start
return res
return wrapper
a=1
foo = timeit(foo)
print foo(a)
foo2 = timeit(foo2)
foo2()
相比于原代码,主要更改是标号的两行。 第一行在函数定义的时候,参数里添加了一个不定参数,以便接受原函数的参数,第二行利用了*运算符的第二个功能,将参数展开,传递给原函数。
python中的open方法不允许我将字符串转换为int
当我尝试运行这行代码时会发生奇怪的事情:
with open("snake score.txt", mode="r") as f: self.high_score = int(f.read())
它给了我:
File "C:\Users\Lidor\PycharmProjects\100DaysOfCode\snake.py", line 77, in __init__ self.high_score = int(f.read())ValueError: invalid literal for int() with base 10: ''''
文本中的文本是数字 0。有人可以告诉我如何修复这个错误吗?
答案1
小编典典确保字符串中没有多余的空格。
self.high_score = int(f.read().strip())
如果文件中有一个空的空格/空格字符“”,则 Python 无法读取文件名并对其进行处理。使用该strip()
方法,您可以从代码中删除空格并继续。
在Python中将十六进制字符串转换为int
如何在Python中将十六进制字符串转换为int?
我可能将其命名为“ 0xffff”
或“ ffff”
。
答案1
小编典典如果没有 0x前缀,则需要显式指定基数,否则无法分辨:
x = int("deadbeef", 16)
使用 0x前缀,Python可以自动区分十六进制和十进制。
>>> print int("0xdeadbeef", 0)3735928559>>> print int("10", 0)10
(必须指定0为基数才能调用此前缀猜测行为;省略第二个参数意味着假定基数为10。)
关于如何在Python中将字符串转换为int?和python将字符串转化为int的介绍现已完结,谢谢您的耐心阅读,如果想了解更多关于Python-如何在Python中将字符串转换为整数?、Python中将字符串转换为函数、python中的open方法不允许我将字符串转换为int、在Python中将十六进制字符串转换为int的相关知识,请在本站寻找。
本文标签: