iT邦幫忙

0

#Python 設計預測秒數的遊戲

  • 分享至 

  • xImage

小的不才,請各位大神幫幫忙!

請設計一個預測秒數的遊戲

  1. 亂數產生一個介於3至10的整數(秒數)
  2. 使用者按下enter 開始計時
  3. 使用者按下enter程式結束並顯示秒數
    如果誤差在0.5秒之間,顯示"成功",否則顯示"失敗"

https://ithelp.ithome.com.tw/upload/images/20221115/20155047UE1fqBW4Z4.jpg

這是我目前寫的,能夠產生亂數,但我不知道要怎麼算誤差

sfc507 iT邦新手 4 級 ‧ 2022-11-15 11:32:50 檢舉
你目前只有把亂數print出來,你應該將它存入變數,
再與你的delta變數做比較。
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中
1
alien663
iT邦研究生 5 級 ‧ 2022-11-15 11:30:46

絕對值(EndTime - StarTime - 亂數) <= 0.5

1
海綿寶寶
iT邦大神 1 級 ‧ 2022-11-15 11:35:25

試試

ans = random.randint(3,10)
print(ans)
if abs((time2-time1).seconds-ans) <= 0.5:
   print("成功")
else:
   print("失敗")

回頭想想
都是 int
好像沒什麼機會什麼 0.5 ...
/images/emoticon/emoticon10.gif

0
andy3278
iT邦新手 5 級 ‧ 2022-11-15 12:03:03

datetime object 減 datetime object 會得出 datetime delta object
如果要比較大小,如 >, ==, >= 要兩個datetime delta object比較

if (time2-time1) >= datetime.timedelta(seconds=0.5):
print(“成功")
else:
print("失敗")

detatime.timedelta 的doc

1
froce
iT邦大師 1 級 ‧ 2022-11-15 14:40:16

請搭配 Python datetime官方文件

import datetime
import random

target = datetime.timedelta(seconds=random.randint(3, 10))
print(f'目標{target.seconds}秒')
input('請按任意按鍵開始')
start = datetime.datetime.now()
input('請按任意按鍵結束')
end = datetime.datetime.now()
print(f'經過{(end-start).total_seconds()}秒')
if abs((end-start) - target) <= datetime.timedelta(seconds=0.5):
    print("成功")
else:
    print("失敗")
    
input()

我要發表回答

立即登入回答