2016-04-02 63 views
-1
import random 
SecretNumber=(random.randint) 

Guess=input("Please enter your guess: ") 
NumberofGuesses=1 

while Guess != SecretNumber: 
      NumberofGuesses=NumberofGuesses+1 


      if Guess>SecretNumber: 
       print("Please insert a smaller number") 

      else: 
       print("Please insert a bigger number") 

print("Number of Guesses: {0}".format(NumberofGuesses)) 
+0

你可能想讀這個:[詢問用戶輸入,直到他們給出有效的響應](https://stackoverflow.com/questions/23294658/asking-the-user-for-input-until-從隨機導入它們-給予一個有效響應) – styvane

回答

0
from random import * 
secretnumber = randint(0,10) 
numberofGuesses += 1 
guess = int(input()) 

只是幾件事情要清理代碼,並修復STR問題 也,將猜測部分置於while循環中

+0

* SecretNumber = randint 猜測= INT(輸入( 「請輸入猜測:」)) NumberofGuesses = 1 SecretNumber = 0 而猜測!= SecretNumber: NumberofGuesses = NumberofGuesses + 1 如果210猜> SecretNumber: 打印( 「請插入一個較小的數」) 否則: 打印( 「請插入一個更大的數」) 如果猜測== SecretNumber: 打印(「猜測數:{0 }」格式(NumberofGuesses)) 我做這些事情,但現在的程序是不stopping.I不知道該怎麼辦 –

0
  1. 您從不將用戶的猜測轉換爲整數。這需要照顧str部分。使用Guess = int(input("Please enter your guess: "))
  2. 你從來沒有真正撥打random.randint功能,random.randint()。這意味着SecretNumber是一個函數,而不是一個整數,它會照顧method部分。使用SecretNumber = random.randint(1, 10)(1至10之間的隨機數字)。
  3. 你永遠不會有其他提示輸入。在循環結尾添加另一個Guess =...,或將已有的那個移動到循環的開始位置,並在匹配的編號上使用while True:breakelse分支中已有if結構 - 當前else應該是elif;見下文)。
  4. 如果猜測值過大,則表示同樣多。然而,你認爲在其他情況下,猜測值太小,儘管猜測可能實際上是匹配的。將else替換爲elif Guess < SecretNumber
相關問題