首页 > 解决方案 > Python如何破解

问题描述

我在这里有一个带有 try 和 catch 的代码,我想在用户使用 Kard 变量在 exit 中写入时破坏代码,但我试图比较它但它失败了!

print("MATHLETE 2.0")
print("-------------")

#Variabler
kard = 0
summan = 0
medel = 0
#svar = 'exit'
i = 0

while True:

    

    kard += 1
    summan = summan + kard
    try:
        kard = int(input("> "))
        
    except ValueError:
        if str(kard) == 'exit':
            break
        else:
            print("Fel - Ogiltigt Nummer")
            print("-------------")
        
       
        
summan = summan + kard
    
print("-------------")
print("Kardinalitet: ", kard)
print("Summan: ", summan)
print("Medelvärde: ", medel)

标签: python

解决方案


当它在 上引发异常时kard = int(input("> ")),该str值永远不会保存。这是您要查找的内容:

# ...
kard_str = input("> ")
try:
    kard = int(kard_str)
except ValueError:
    if kard_str == 'exit':
        break
    print("Fel - Ogiltigt Nummer")
    print("-------------")

# this line seems to belong to the loop, fix the indent:
summan = summan + kard

推荐阅读