2012-12-05 43 views
-3

我正在使用Python 3.2只是讓你知道我在做什麼,這裏是作業: 〜隨機模塊中的函數random.randint可用於從一系列值中產生一個整數。例如,random.randint(1,6)以相等的概率產生值1到6。一個簡單的輔導程序可以隨機選擇0到12之間的兩個數字,並提出如下問題:什麼是6次8?在收到用戶迴應後,計算機會檢查答案是否正確,並給出令人鼓舞的評論。編寫一個循環10次的程序,產生這種形式的問題,最後給用戶一個分數。Python幫助再次

以下是我在我的節目:

print ("Hello. Let's begin") 
    for i in range (1,10): 
     from random import randint 
     x=randint (0,12) 
     y=randint (0,12) 
     print (x,"*" y,"=?") 
     product= int(input ("What is the product?") 
     if (product==x*y): 
      print ("Awesome! That is correct!") 
     else: 
      print ("Sorry, that is not correct, but let's try another one!") 

我把一切都與這一切工作。它詢問用戶一個隨機乘法問題並做出十次響應。我不知道該怎麼做才能讓用戶在最後得分。我正在頭腦風暴的想法,並沒有太多真正的工作。我想我會做這樣的事情:

score= 

但我不知道如何告訴程序計算出正確答案的數目......難道我說的分數=如果號碼是多少?

,然後當我打印的分數我只能說:

if (score>5) : 
     print: ("Great job! You scored a",score,"out of ten!") 
    else: 
     print: ("Not the best score, but you can try again! You scored a",score,"out of ten.") 

或者是有可能做到這一點更簡單的方法?

+0

你可以請張貼你的工作代碼嗎?你聲稱工作的東西不起作用。這裏至少存在一個「輸入」問題和縮進問題,如果您想要生成一個長度爲10的列表,則會濫用範圍。 –

+2

出於好奇,你的年級和(如果在大學裏)什麼是你的專業?提出幾個更好的問題要點:1)請停止道歉,2)使標題簡潔並描述問題(提示:「幫助!」的標題非常差),先說明你的問題(例如,如何計算分數?),然後顯示你已經嘗試了什麼,以及它不符合你的期望。 –

+0

請使用描述性問題標題 - 您的標題應該是您問題的單行摘要,而不是「幫助」。 –

回答

0

首先,設置比分0

score = 0 

然後在循環中,你可以試試

if (product==x*y): 
     print ("Awesome! That is correct!") 
     score += 1 
    else: 
     print ("Sorry, that is not correct, but let's try another one!") 

的重要組成部分,作爲score += 1這一個,當你得到一個正確的答案增加了比分。你可以把你的score > 5放在循環之後。

+0

非常感謝!我得到它的工作! :) –

1

在循環之前創建一個新變量(「分數」或類似的)並將其初始化爲0似乎是最簡單的。然後,當你檢查一個用戶是否正確時,如果它是正確的,只需將它增加一個,如果它是錯誤的,就讓它獨立。

希望這會有所幫助!