我有一个If语句,它的行为和我期望的不一样,也许我把它放错了?

2024-06-13 21:31:07 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个if/then语句没有这样的行为。我的专业水平大约是1/10。你知道吗

  • 我试图获取一个用户输入值并给出一个变量输出 取决于值。你知道吗
  • 我的脚本给我10,这是每个函数返回5,这是错误的
 def abs_func():
    plank_input = raw_input("How long can you hold a plank?:")
    situps_input = raw_input("How many situps can you do?:")

#checking the input we just recieved
    print "Plank Input:",plank_input
    print "Situps Input:",situps_input

#This Checks the plank time against my values.
    def abs_char1(plank):
        global abs_rate1
        if plank >= 120:
            abs_rate1 =+ 5
        else:
            if plank >= 90:
                abs_rate1 =+ 4
            else:
                if plank >= 60:
                    abs_rate1 =+ 3
                else:
                    abs_rate1 =+ 2
        print "Abs 1:",abs_rate1
        return abs_rate1

#This Checks the plank time against my values.
    def abs_char2(situps):
        global abs_rate2

        if situps >= 120:
            abs_rate2 =+ 5
        else:
            if situps >= 100:
                abs_rate2 =+ 4
            else:
                if situps >= 80:
                    abs_rate2 =+ 3
                else:
                    abs_rate2 =+ 2
        print "Abs 2:", abs_rate2
        return abs_rate2

    a1 = abs_char1(plank_input)
    a2 = abs_char2(situps_input)

    print "a1:",a1,"a2:",a2
    abs_rate = a1 + a2
    print abs_rate


abs_func()

你知道吗 我想让它吐出正确的值,比如3和4,总共7。
但是,它总是打印出5和5,总共10个,我不知道为什么。。。你知道吗


Tags: thea2inputrawifdefa1abs
2条回答

raw\u input()和input()处理事情的方式不同,因此当我使用raw\u input()而不是input()时,它对代码的更改足以让我失望。 我不知道它为什么会这样,但它做到了。你知道吗

我猜您没有使用python3,因为在python3中raw_input刚刚被重命名为input()。当我尝试用input()运行代码时,遇到了一系列问题,因为您正在将一个字符串值(input()返回一个字符串)与一个整数值(例如120)进行比较。你知道吗

请暂时尝试修复此问题,并随时向我们通报您的新结果。:)

相关问题 更多 >