Python 如何修改此代码 score=原始输入(“输入分数:uuuuuuuu(介于0.0和1.0之间)”) 尝试: y=浮动(分数) 除: 打印“键入数字” 尝试: 如果y>1或y=0.9: 打印“A” elif y>=.8: 打印“B” elif y>=.7: 打印“C” elif y>=.6: 打印 其他: 打印“F”

Python 如何修改此代码 score=原始输入(“输入分数:uuuuuuuu(介于0.0和1.0之间)”) 尝试: y=浮动(分数) 除: 打印“键入数字” 尝试: 如果y>1或y=0.9: 打印“A” elif y>=.8: 打印“B” elif y>=.7: 打印“C” elif y>=.6: 打印 其他: 打印“F”,python,Python,我试图消除用户的无效输入。使用此代码,如果输入不在(0,1)中,结果显示“不在分数范围内”,这是好的 但是,当输入不是数字时,结果显示“键入数字”和“不在分数范围内” 我希望它只显示“键入一个数字”。谁能告诉我怎么做?我正在考虑使用“elif”,但不知道如何处理它。您只需添加一个标志变量即可: score = raw_input("Enter Score:___ (between 0.0 and 1.0)") try: y = float(score) except: print

我试图消除用户的无效输入。使用此代码,如果输入不在(0,1)中,结果显示“不在分数范围内”,这是好的

但是,当输入不是数字时,结果显示“键入数字”和“不在分数范围内”


我希望它只显示“键入一个数字”。谁能告诉我怎么做?我正在考虑使用“elif”,但不知道如何处理它。

您只需添加一个
标志
变量即可:

score = raw_input("Enter Score:___ (between 0.0 and 1.0)")
try:
    y = float(score)
except:
    print 'Type a Number'      
try:
    if y > 1 or y < 0:
        y = 'Not in Score Range'
    x = int(y)
except:
    print 'Not in Score Range'
else:
    if y >= 0.9:
        print 'A'
    elif y >= .8:
        print 'B'
    elif y >= .7:
        print 'C' 
    elif y >= .6:
        print 'D'       
    else:
        print 'F'
试一试。。。except语句有一个可选的else子句,当它出现时,必须在所有except子句之后。如果try子句没有引发异常,那么它对于必须执行的代码非常有用。例如:

资料来源:

如有任何问题,请发表评论


希望有帮助:)

您只需添加一个
标志
变量即可:

score = raw_input("Enter Score:___ (between 0.0 and 1.0)")
try:
    y = float(score)
except:
    print 'Type a Number'      
try:
    if y > 1 or y < 0:
        y = 'Not in Score Range'
    x = int(y)
except:
    print 'Not in Score Range'
else:
    if y >= 0.9:
        print 'A'
    elif y >= .8:
        print 'B'
    elif y >= .7:
        print 'C' 
    elif y >= .6:
        print 'D'       
    else:
        print 'F'
试一试。。。except语句有一个可选的else子句,当它出现时,必须在所有except子句之后。如果try子句没有引发异常,那么它对于必须执行的代码非常有用。例如:

资料来源:

如有任何问题,请发表评论


希望它能有所帮助:)

我个人更喜欢在没有标志的情况下工作,只需将其包装在函数中即可

score = raw_input("Enter Score:___ (between 0.0 and 1.0)")

try:
    y = float(score)
except:
    print 'Type a Number'      
else:
    try:
        if y > 1 or y < 0:
            y = 'Not in Score Range'
        x = int(y)
    except:
        print 'Not in Score Range'
    else:
        if y >= 0.9:
            print 'A'
        elif y >= .8:
            print 'B'
        elif y >= .7:
            print 'C' 
        elif y >= .6:
            print 'D'       
        else:
            print 'F'
def get_分类器():
分数=原始输入(“输入分数:\在0.0和1.0之间)”
尝试:
分数=浮动(分数)
除:
打印('键入一个数字')
一无所获
如果不是0。8:
返回“B”
elif y>=.7:
返回“C”
elif y>=.6:
返回'D'
其他:
返回“F”
#不断询问,直到给出正确的号码
a=获取分类器()
而a==无:
a=获取分类器()
印刷品(a)

我个人更喜欢在没有标志的情况下工作,只需将其包装到函数中即可

score = raw_input("Enter Score:___ (between 0.0 and 1.0)")

try:
    y = float(score)
except:
    print 'Type a Number'      
else:
    try:
        if y > 1 or y < 0:
            y = 'Not in Score Range'
        x = int(y)
    except:
        print 'Not in Score Range'
    else:
        if y >= 0.9:
            print 'A'
        elif y >= .8:
            print 'B'
        elif y >= .7:
            print 'C' 
        elif y >= .6:
            print 'D'       
        else:
            print 'F'
def get_分类器():
分数=原始输入(“输入分数:\在0.0和1.0之间)”
尝试:
分数=浮动(分数)
除:
打印('键入一个数字')
一无所获
如果不是0。8:
返回“B”
elif y>=.7:
返回“C”
elif y>=.6:
返回'D'
其他:
返回“F”
#不断询问,直到给出正确的号码
a=获取分类器()
而a==无:
a=获取分类器()
印刷品(a)

要添加另一个变体,您可以区分不同的异常。对于这个问题来说,这可能有点过头了,但我认为总的来说,这更优雅:

def get_classifier():
    score = raw_input("Enter Score:___ (between 0.0 and 1.0)")
    try:
        score = float(score)
    except:
        print('Type a Number')
        return None

    if not 0. <= score <= 1.:
        print('Not in Score Range')
        return None

    if y >= 0.9:
        return 'A'
    elif y >= .8:
        return 'B'
    elif y >= .7:
        return 'C' 
    elif y >= .6:
        return 'D'       
    else:
        return 'F'

# Continuously ask until correct number was given
a = get_classifier()
while a == None:
    a = get_classifier()
print(a)
class OutOfRangeException(异常):
通过
def stringToScore(字符串):
x=浮动(字符串)
如果不是(0=0.9:
打印“A”
elif y>=.8:
打印“B”
elif y>=.7:
打印“C”
elif y>=.6:
打印
其他:
打印“F”
除值错误外:
打印“键入数字”
除OutofRange例外:
打印“不在分数范围内”

要添加另一个变体,您可以区分不同的异常。对于这个问题来说,这可能有点过头了,但我认为总的来说,这更优雅:

def get_classifier():
    score = raw_input("Enter Score:___ (between 0.0 and 1.0)")
    try:
        score = float(score)
    except:
        print('Type a Number')
        return None

    if not 0. <= score <= 1.:
        print('Not in Score Range')
        return None

    if y >= 0.9:
        return 'A'
    elif y >= .8:
        return 'B'
    elif y >= .7:
        return 'C' 
    elif y >= .6:
        return 'D'       
    else:
        return 'F'

# Continuously ask until correct number was given
a = get_classifier()
while a == None:
    a = get_classifier()
print(a)
class OutOfRangeException(异常):
通过
def stringToScore(字符串):
x=浮动(字符串)
如果不是(0=0.9:
打印“A”
elif y>=.8:
打印“B”
elif y>=.7:
打印“C”
elif y>=.6:
打印
其他:
打印“F”
除值错误外:
打印“键入数字”
除OutofRange例外:
打印“不在分数范围内”

谁曾否决过这个问题。你能解释一下原因吗。这也将有助于其他观众。他们曾经对这个问题投过反对票。你能解释一下原因吗。它也将帮助其他观众。我想建议
如果不是0.0@workfartiz,我也不太喜欢旗子方法!我也将我的答案更新为flagless way。我想你会喜欢的。
例外:
应该是
例外:
谢谢。明天学习课程的函数部分后,我会回来看看我是否能理解它。我想建议
如果不是0.0@workfartiz,我也不太喜欢flag方法!我也将我的答案更新为flagless way。我想你会喜欢的。
例外:
应该是
例外:
谢谢。明天学习课程的函数部分后,我会回来看看我是否能理解它。尼斯,从不知道
try…除了
有一个可选的else子句。该标志看起来可能不像其他标志那样“酷”,但它向我展示了一种使用赋值的新方法。第二次尝试…除了…其他也很有帮助。谢谢。我真的很高兴它帮了我的忙:)很好,我从来不知道
try…除了
有一个可选的else子句。这个标志看起来可能不像其他标志那样“酷”,但它向我展示了一种使用赋值的新方法。第二次尝试…除了…其他也很有帮助。谢谢。我真的很高兴它起了作用:)