iT邦幫忙

0

# python問題

  • 分享至 

  • xImage

想請問一下各位大大1個問題~~
目前我寫的程式碼如下
但好像還是不太對~
麻煩了><

撰寫一個猜數字遊戲程式。由程式產生一個介於 1 到 100 的隨
機整數,玩遊戲者可輸入最多 10 次猜數字。每次輸入的數如果不
對,可給出偏大或偏小提示。如果猜到正確數字,給出恭喜資訊。
如果猜了 10 次都不正確,遊戲結束,給出失敗資訊。

import random

numbers  = [for i in range(100)]
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中
1
lion_inin
iT邦新手 1 級 ‧ 2021-06-07 08:57:39

先亂數出1個(0~100)值
然後用for 迴圈做10次
迴圈內容為:
使用者輸入1個字
用if判斷是比較大或比較小
大就print 說比較大 然後計數+1
小就print 說比較小 然後計數+1
若是一樣 直接break跳出迴圈並print猜對了

中間程式碼可以自己想一想,不難呦

看更多先前的回應...收起先前的回應...
import random
A= random.randint(0,100)
guess = 0
while A != guess:
    guess = int(input('請輸入0到100的數字 : '))
    if A < guess:
        print('請猜小一點 ! ')
    elif A > guess:
        print('請猜大一點 ! ')
    else:
         print('恭喜猜中了 !')
     你好謝謝您的回答,我思考了一下大致上做了出來
     但還是想請問一下最多 10 次猜數字這個限制條件要怎麼加進去呢?! 試了幾次好像都出現邏輯錯誤QQ
   
小魚 iT邦大師 1 級 ‧ 2021-06-07 09:26:09 檢舉

你就用個變數記次數就好了, 10次還猜不到真的是技術不好.

lion_inin iT邦新手 1 級 ‧ 2021-06-07 09:51:21 檢舉

您好,您這樣有幾個錯誤

  1. 您這樣是測到對為止,因為迴圈是寫while != guess
  2. 當你guess = A時,他其實並不會進到while 迴圈 ,所以你的恭喜猜中了不會執行到

所以您可以在while 的那邊變成 A!= guess && count <=10
然後在比較小及比較大時都把count + 1

然後在後面在補上 while A = guess:
讓他print 猜中了

心原一馬有關於Python一系列文章,是很棒的參考.
https://ithelp.ithome.com.tw/articles/10212280

https://ithelp.ithome.com.tw/articles/10230204

2
japhenchen
iT邦超人 1 級 ‧ 2021-06-07 10:38:22

你後面寫的只要補一個break做退出while就好

import random
a = int(random.choice(range(100)))
c = 1 
while True:
    g = int(input('猜一個數字:'))
    c = c + 1 
    if g < a:
        print('比{0}大'.format(g))
    elif g > a:
        print('比{0}小'.format(g))
    else:
        print('你猜中了,就是{0}'.format(g))
        break
    if c>10 :
        print('你猜了超過10次都沒猜中,退出')
        break

0

我也覺得你猜對了。一些類似的參考資料在這裡 https://ithelp.ithome.com.tw/articles/10212280 basketball legends

我要發表回答

立即登入回答