maryammahmoodi

راهنمایی برای حدس زدن محدوده یک عدد

maryammahmoodi ۱۳۹۷/۱۱/۲۱ 60 زبان برنامه‌نویسی پایتون

سلام

من یک عدد در ذهن خودم در نظر می گیریم وبه سیسیتم این عدد رو اعلام نمی کنم این عدد بین 1تا 99 هست بعد سیسیتم یک عدد رندوم بین 1تا 99 اعلام می کنه من باید بگم آیا حدس با جواب مدنظر من درسته یاخیر اگرحدس سیستم از جواب بزرگتربود می نویسم k اگر کوچکتر بود b و برابر باشهd وهربارهم بازه باید محدودتر بشه

من به کمک تابع randوwhile وif این رو نوشتم اما مشکل اینجاس هربار باید بازه با توجه به حدس سیستم محدود بشه که من تواین قسمت موندم ونمی دونم چطور بنویسمش

ممنون میشم اگه راهنمایی کنید

پاسخ‌ها به این تاپیک
amir najdi
amir najdi برنامه نویس php علاقه مند به هوش مصونوعی (یادگیری ماشین)
۱۳۹۷/۱۱/۲۲

سلام

اگر منظورتون اینه که اگر عدد نمایش داده شده برزگ تر بود شما حرف 'k' رو وارد کنید نه عدد می تونین از روش زیر استفاده کنید.

اگه اشتباه نکنم جواب این سوال مثل جستوجوی دودویی هست که هر بار بازه ی جستوجو کوچک تر میشه.

مثلا فرض کنید عدد انتخابی شما 25 است ، برنامه به شما عدد 60 نشون میده و چون عدد 60 از عدد مورد نظر شما بزرگ تر هست شما k رو وارد می کنید و تابع رندوم باید عددی بین 1 تا 60 درست کنه و دوباره عدد بهتون نمایش بده و ازتون بپرس که این عدد همونه یا نه ، فرض کنید که  برنامه دوبار عدد 10 بهتون نمایش میده و چون عدد مورد نظر شما از 10 بزرگ تره شما b رو وارد میکنید و اینجا برنامه باید عددی بین 10 تا 60 تولید کنه و این چرخه رو ادامه بده تا به عدد مورد نظر برسه.

ببخشید که بد توضیح دادم.

Milad khaghanirad
Milad khaghanirad
۱۳۹۷/۱۱/۲۲

سلام

تابع rand بین min=1 و Max =99 شروع به تولید عدد تصادفی میکنه.کاری که باید بکنی اینه که وقتی k را وارد کردی min = عدد ورودی و اگرb را وارد کردی max = عدد ورودی بشه.

maryammahmoodi
maryammahmoodi
۱۳۹۷/۱۱/۲۲

من دقیقا متوجه نشدم میشه بیشتر راهنمایی کنید این کدی که من نوشتم اما وقتی جواب 50باشه و سیستم 30رو حدس بزنه بازه میشه بین 30و99حالا اگر مجدد 60رو حدس بزنه بازه باید بشه بین30و 60 که من اینو نمی تونم درست کنم

                                                                                           

a=1
b=99
import random
javab=int
hads= random.randint(a,b)
print(hads)
while hads!= javab:
    user=input('')
    if user == 'b':
        hads=random.randint(hads,b)
        print(hads)
    if user == 'k':
        hads=random.randint(a,hads)
        print(hads)
print('d')

در پاسخ به

amir najdi
amir najdi برنامه نویس php علاقه مند به هوش مصونوعی (یادگیری ماشین)
۱۳۹۷/۱۱/۲۲

اینو امتحان کنید.

فقط من نفهمیدم منظور از javab چیه.

در کد پایین زمانی که جواب درست رو نشون داد باید d بزنید تا برنامه تموم بشه

من کد پایین تست کردم درست بود ولی اگه مشکلی داشت بخاطر اینکه تا الان پایتون کار نکردم

a=1
b=99
import random
user ='';
javab=int
hads= random.randint(a,b)

while user != 'd':
    print(hads)
    user = input ('status: ')
    if user == 'b':
        a=hads
        hads = random.randint(hads,b)
    if user == 'k':
        b=hads
        hads = random.randint(a,hads)

print('answer : ',hads)

در پاسخ به

maryammahmoodi
maryammahmoodi
۱۳۹۷/۱۱/۲۲

سپاس فراوان از شما برای راهنمایی هاتون

در پاسخ به