我该如何修复这个简单的程序?

时间:2015-11-19 19:27:33

标签: python-3.x

我在python中编写了这个非常简单的程序:

    <li style="color:black; width:100%; padding-top:5px" 
onclick="message(<?php echo intval($row['exist']);?>)">

function message(clickedID){
                var ID = clickedID;
                var xmlhttp = new XMLHttpRequest();
                    xmlhttp.onreadystatechange = function(){
                        if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {
                           document.getElementById("txtHint").innerHTML = xmlhttp.responseText;
                        }
                    };
                    xmlhttp.open("POST","retrieveMsg.php?q=" +ID,true);
                    xmlhttp.send();
                }

如果用户写了一个数字,该程序将起作用,但是如果他们写了一个字符串,程序就会给出这个错误:

a=input('Enter the grade:')

if int(a)<5:
    print('D')
elif 5<=int(a)<10:
    print('c')
elif 10<=int(a)<15:
    print('B')
elif 15<=int(a)<=20:
    print('A')
elif 20<int(a):
    print('You idiot !')

else :
    print('Write a  number idiot !')

如何更改程序,以便用户可以编写任何他们想要的内容!

3 个答案:

答案 0 :(得分:1)

修改:

a=input('Enter the grade:')

为:

a = None
while not a:
    try:
        a = int(input('Enter the grade:'))
    except ValueError:
        print("please enter a valid integer!)
    else:
        break

答案 1 :(得分:0)

您可以检查变量的类型或执行try / except。 (最后是最简单的方法,在这里看到足够的)

答案 2 :(得分:0)

您可以使用此功能检查输入值是否为整数:

In [1]: def is_int(value):
...:     try:
...:         int(value)
...:         return True
...:     except ValueError:
...:         return False
...:     

In [2]: is_int(6)
Out[2]: True

In [3]: is_int('something')
Out[3]: False

希望这有帮助!