2012-11-19 43 views
2

我編寫了一個小數學測驗,我需要插入一個循環(while ..) ,使它迭代用戶想要的新時間。 特別是,如何讓它每次迭代時生成「新的隨機數」。 我知道我可以插入一個控制變量,如keep_going = y 讓用戶決定是否繼續。python如何在每次循環迭代時生成新的隨機數?

請參閱下面的代碼,並感謝您的幫助!

import random 

first_num = random.randint(1,500) 
second_num = random.randint(1,500) 

print (first_num) 
print (second_num) 

answer = int(input('Entrer la somme des deux nombres: ')) 

if answer == first_num + second_num: 
    print("It's correct!") 

else: 
    print("It's wrong!") 
+0

你在'print'函數/語句中的引號有點搞砸了。 – mgilson

+0

我同意@mgilson re:格式化,但ummm,一個非常無聊的測驗?如果我只輸入了'0 0'呢? –

回答

2

你需要的是一個while loop。這一個將永遠循環直到用戶正確地得到問題,但是你可以在while之後放置任何可能最終是錯誤的條件。

然後我用raw_input()讓用戶決定是否繼續。這是完成您的目標的衆多方法之一。

import random 

while True: 

    first_num = random.randint(1,500) 
    second_num = random.randint(1,500) 

    print (first_num) 
    print (second_num) 

    answer = int(input('Entrer la somme des deux nombres: ')) 

    if answer == first_num + second_num: 
     print("It's correct!") 
     break 
    else: 
     print("It's wrong!") 
     tryAgain = raw_input('Try again? [(y)/n] ') 
     if tryAgain.lower() == 'n': 
      break 
+0

嗨!謝謝!我使用Python 3.3所以而不是raw_input我輸入「input(..)」。你的代碼幫了我很多!我調整了他們一些,讓程序總是問「我們應該繼續」。 – Sylvain