سلام من این پروژه مکتب خانه که در مورد بازی حدس عدد هست اصلا متوجه نمیشم اصلا چجوری باید برنامه جوری نوشت که کامپیوتر تشخیص بده عدد بزرگتره یا کوچکتر و این رو ادامه بده در ادامه تسک ها میزارم براتون
مراحل بازی شامل پنج تسک میشه
1) ابتدا کاربر یک عدد را در ذهن خود مشخص می کند و به کامپیوتر این عدد را نمی گوید (به عنوان ورودی به کامپیوتر عدد را نمی دهد)(عددی بین ۱ تا ۹۹)
2) برنامه یک عدد را حدس زده و چاپ می کند
3) عدد چاپ شده سه حالت را ایجاد می کند
4-یا از عددی که شما در ذهن خود دارید بزرگتر هست که شما با تایپ حرف k به برنامه می گویید که عدد در ذهن شما از عددی که برنامه چاپ کرده کوچکتر است و برنامه باید عدد دیگری را حدس زده و نمایش بدهد و ... (قابل ذکر است که در این حالت با تایپ k برنامه باید عدد کوچکتری از حدس قبلی خود حدس بزند تا بازی زودتر تمام شود)
5-و یا اینکه عدد چاپ شده از از عددی که شما در ذهن خود دارید کوچکتر هست که با تاپ حرف b به برنامه می گویید که عدد در ذهن شما از عددی که برنامه چاپ کرده بزرگتر است و برنامه باید عدد دیگری را حدس زده و نمایش بدهد و ... (قابل ذکر است که در این حالت با تایپ b برنامه باید عدد بزرگتری از حدس قبلی خود حدس بزند تا بازی زودتر تمام شود)
6- و یا اینکه عدد چاپ شده همان عددی است که در ذهن شما بود و با تایپ حرف d به برنامه می گویید که درست حدس زده و برنامه تمام می شود
برای نمونه کد می توانید از این لینک استفاده کنید اما باز من متوجه الگوریتم نشدم ، کد خودم رو دیگه نزاشتم که متن طولانی نشه ممنون میشم سورس کد اش بهم بگید یا اگه روش راحت تری هست مثلا استفاده از choice برای حدس زدن و این جور ترفندها :)
کد @abdolrahman
را اگر از نخواهیم از مپ و فیلتر استفاده کنیم به صورت زیر مینویسیم:
import random
numbers = list(range(1,100))
while True:
guess = random.choice(numbers)
print(guess)
inp = input('Enter k or b or d: ')
if inp == 'k':
del numbers[numbers.index(guess):] # del numbers >= guess
elif inp == 'b':
del numbers[:numbers.index(guess)+1] # del numbers <= guess
elif inp =='d':
print('hooooo!! my guess is True!')
breakشاید پاسخ شما همینجا باشد