2013-08-02 42 views
0

非零值,我是新来的蟒蛇,以及新的节目,我所试图做的是,让用户能够为我所用ISDIGIT(输入两个整数值),来限制用户可以只有输入整数值,这里是我的代码:ISDIGIT()与蟒蛇

x1 = 0 
x = raw_input("enter first number: ") 
while not (x.isdigit()): 
    x = raw_input("enter a valid number: ") 
x1 = int(x) 

y1 = 0 
y = raw_input("enter second number for: ") 
while not (y.isdigit()): 
    y = raw_input("enter second non zero number: ") 
y1 = int(y1) 

c = x1/y1 
print c 

这个程序会给出错误,如果用户将在y输入0,为解决这个问题,我尝试了这么多花样,但失败了,请帮我解决这个问题。

+0

这是功课,对吧?看看y1发生了什么?它在哪里得到它的价值 –

+0

干运行y = 0的代码,你会很快知道什么是错的。 – rocketboy

回答

2

更改第二while语句如下:

while not (y.isdigit() and y != '0'): 
    y = raw_input("enter second non zero number: ") 

,以防止多个零(00000),使用下列内容:

while not (y.isdigit() and int(y) != 0): 
    y = raw_input("enter second non zero number: ") 

你的代码中有一个错字:

y1 = int(y1) 

将以上行替换为:

y1 = int(y) 

除非你想结果被难倒,也改变c = x1/y1

c = float(x1)/y1 
+0

您是否尝试运行该程序:D –

+0

@AnttiHaapala,感谢您的评论。更新了答案。 – falsetru

+0

非常感谢主席先生,它的工作原理,再次感谢:) – lovekumar