You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python均值计算器函数异常:输入a为2却不执行对应计算逻辑

问题描述

编写了一个用于计算均值的Python函数part1,测试时输入变量a的值为2,但代码判定a不等于2,无法执行均值计算逻辑,使用PyCharm作为开发环境。

代码如下:

def part1(Answer1, Answer2):
    x=Answer1+Answer2
    y=x/2
    print(y)

print("What are your numbers? 2 max")
a=input("How many numbers would you like? :")
Answer1=input("What is your first number? :")
Answer2=input("What is your second number? :")

if a==2:
    part1(Answer1, Answer2)
else:
    print(a)
问题原因及解决方法
  • 核心原因:类型不匹配
    input()函数返回的内容是字符串类型,你输入的"2"是字符串,而判断条件里和整数2做相等比较,"2" == 2的结果为False,因此不会进入均值计算的分支。

  • 额外隐藏问题
    就算解决了a的类型问题,Answer1和Answer2同样是字符串类型,直接用+运算会执行字符串拼接而非数值相加。比如输入1和2,会得到"12",再除以2得到6.0,不符合均值计算的预期。

修正后的代码

def part1(Answer1, Answer2):
    x = Answer1 + Answer2
    y = x / 2
    print(y)

print("What are your numbers? 2 max")
# 将输入的a转换为整数类型
a = int(input("How many numbers would you like? :"))
# 将输入的数值转换为浮点数,支持小数输入
Answer1 = float(input("What is your first number? :"))
Answer2 = float(input("What is your second number? :"))

if a == 2:
    part1(Answer1, Answer2)
else:
    print(a)

内容的提问来源于stack exchange,提问作者curious

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.22 21:39:18