将元组条目变量转换为数学问题的 int 的问题

Posted

技术标签:

【中文标题】将元组条目变量转换为数学问题的 int 的问题【英文标题】:Issue with turning tuple entry variables into an int for a math problem 【发布时间】:2022-01-21 18:47:48 【问题描述】:

目前我一直在尝试将我的元组变量:tempLentry、windLentry、dewpointLentry 转换为整数,以便我可以在数学序列中使用它们。但是,每当发生此错误时,我都会不断收到此错误:TypeError:int()参数必须是字符串,类似字节的对象或实数,而不是“条目”。我希望有人能指出正确的方向,谢谢!

代码如下

def calc ():    
    #Tuple being recieved from askUser
    tempLentry,windLentry,dewpointLentry = askUser()

    #Converts string input from entries to integers for the calculations to work.
    t = int(tempLentry)
    ws = int(windLentry)
    dp = int(dewpointLentry)

    #Checks to see if inputed data for temperature and windspeed is less than 50mph and 
    greater than 3 mph
    if (t < 50 and ws > 3):
        windchill = (35.74 + 0.6215 * t - (35.75 * math.pow(ws,0.16)) + (0.4275 * t * math.pow(ws,0.16)))
    else:
        windchill = 0

【问题讨论】:

【参考方案1】:

你需要先将Entry转换成字符串,然后再转换成int。

您可以使用.get() 将条目作为字符串获取

t = int(tempLentry.get())
ws = int(windLentry.get())
dp = int(dewpointLentry.get())

【讨论】:

当我这样做时:ValueError: invalid literal for int() with base 10: '' 您需要确保用户在条目中输入了一些内容,并且他们输入了一个可以解析为 int 的值。 输入的数据只是数字。我希望数字可以通过大声笑 这就是你的做法。您的问题不再是由这些行引起的,而是在您的代码中的其他地方。打印出您的 tempLentry.get() 以确认您的条目包含您期望它包含的内容 好的,谢谢,看来当用户在条目中输入内容时,它确实保留了元组中的值。

以上是关于将元组条目变量转换为数学问题的 int 的问题的主要内容,如果未能解决你的问题,请参考以下文章

使用 python 将元组转换为 JSON [关闭]

为什么需要括号来将元组赋值给带注释的变量?

将字符串转换为数学方程[重复]

将字符串转换为数学评估 [关闭]

如何将元组转换为命名元组?

Python:将元组转换为二维数组