大甲鱼吃小甲鱼o 发表于 2020-3-23 17:41:34

新手Tkinter问题

    if type == '+' or type == '加':
      float(input1)
      float(input2)
      ans=input1+input2
      print(ans)
这样会输出字符串+字符串的结果
但是这样
if type == '+' or type == '加':
      print(float(input1)+float(input2))
就会输出正确的数学加法结果,这两者为什么有这么大差别呢?float()在print()内为什么就很正确?
说明一下input1和2 是怎么来的, 我是用的Tkinter的entry(),想着这里面提取出来的是字符串,肯定不能直接做加减运算,所以特地转了float,结果意外地发现这两种情况有天翻地覆的差别
请高手解答一下,谢谢

qiuyouzhi 发表于 2020-3-23 17:48:03

举个例子吧:
>>> a = 5
>>> float(a)
5.0
>>> a
5
>>> # 并不会改变!
>>> a = float(a)
>>> a
5.0
>>> # 得赋值
>>> # print只是单纯的调用一下,是没有问题的

大甲鱼吃小甲鱼o 发表于 2020-3-23 17:54:53

qiuyouzhi 发表于 2020-3-23 17:48
举个例子吧:

我明白了,突然发现这是好蠢的问题

qiuyouzhi 发表于 2020-3-23 17:56:44

大甲鱼吃小甲鱼o 发表于 2020-3-23 17:54
我明白了,突然发现这是好蠢的问题

没事
问题解决了就设个最佳答案吧~

大甲鱼吃小甲鱼o 发表于 2020-3-23 18:07:23

qiuyouzhi 发表于 2020-3-23 17:56
没事
问题解决了就设个最佳答案吧~

不好意思忘记了,已设
页: [1]
查看完整版本: 新手Tkinter问题