2014-11-03 120 views
1

这是一个程序,需要3位数字,存储它们,并重复猜测和检查,直到三个存储的数字匹配3个猜测的数字。我似乎无法得到任何东西超过第一个while循环执行:为什么不执行此代码?

digitone = int(raw_input()) 
digittwo = int(raw_input()) 
digitthree = int(raw_input()) 
digitthree = int(raw_input()) 
countdigitone = 0 
countdigittwo = 0 
countdigitthree = 0 

while digitone <= countdigitone: 
    if digitone < countdigitone: 
     print "Digit one could be", countdigitone 
     countdigitone += 1 
    elif digitone == countdigitone: 
     print "Digit one is", countdigitone 
     while digittwo <= countdigittwo: 
      if digittwo < countdigittwo: 
       print "The first two digits could be", countdigitone, countdigittwo 
       countdigittwo += 1 
      elif digittwo == countdigittwo: 
       print "Digits one and two are", countdigitone, countdigittwo 
       while digitthree <= countdigitthree: 
        if digitthree < countdigitthree: 
         print "The 3-digit number could be", countdigitone, countdigittwo, countdigitthree 
         countdigitthree += 1 
        elif digitthree == countdigitthree: 
         print "This is most definetly the number!", countdigitone, countdigittwo, countdigitthree 
         break 

它就在那里。目前,它只需要你的号码,打印单词无,然后停下来。有没有什么办法解决这一问题?

+5

您输入的数字是否为'digitone' <= 0?如果不是,那么while循环不会执行。 – 2014-11-03 20:21:36

+0

你为什么要嵌套三个while循环?你为什么要问'digitthree'的价值两次? – 2014-11-03 20:26:11

+0

@jgritty我看到我做了什么。现在的问题是,这里'countdigitone + = 1'我试图增加'countdigitone'的数量。 – 2014-11-03 20:26:54

回答

0

while digitone <= countdigitone意味着除非digitone是一个负数它决不会小于countdigitone被设置为0

我会做类似下面,循环,直到你找到每个数字的值,并在打印值结束:

digit_one = int(raw_input()) 
digit_two = int(raw_input()) 
digit_three= int(raw_input()) 
count_digit_one = 0 
count_digit_two = 0 
count_digit_three= 0 

while digit_one > count_digit_one: 
    print "Digit one could be", count_digit_one 
    count_digit_one += 1 

while digit_two > count_digit_two: 
    print "The first two digits could be", count_digit_one, count_digit_two 
    count_digit_two += 1 

while digit_three> count_digit_three: 
    print "The first three digits could be", count_digit_one, count_digit_two 
    count_digit_three += 1 
print "This is most definitely the number! {}{}{}".format(count_digit_one, count_digit_two, count_digit_three) 
0

第一个while循环做

while digitone <= countdigitone: 

你已经得到了digitone来自用户。并且您已将countdigitone设置为0.除非输入的数字小于0,否则根本不会输入while循环。