GVKun编程网logo

如何在Python中将字符串转换为int?(python将字符串转化为int)

6

想了解如何在Python中将字符串转换为int?的新动态吗?本文将为您提供详细的信息,我们还将为您解答关于python将字符串转化为int的相关问题,此外,我们还将为您介绍关于Python-如何在Py

想了解如何在Python中将字符串转换为int?的新动态吗?本文将为您提供详细的信息,我们还将为您解答关于python将字符串转化为int的相关问题,此外,我们还将为您介绍关于Python-如何在Python中将字符串转换为整数?、Python中将字符串转换为函数、python中的open方法不允许我将字符串转换为int、在Python中将十六进制字符串转换为int的新知识。

本文目录一览:

如何在Python中将字符串转换为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中将字符串转换为整数?

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中将字符串转换为函数

这个问题的来源是在看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

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

如何在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的相关知识,请在本站寻找。

本文标签: