使用python实现二分法查找

王朝学院·作者佚名  2016-08-27
窄屏简体版  字體: 小  |  中  |  大  |  超大  

最近开始学习mit的python课程,其中手工实现的一个关于二分法查找的练习代码个人感觉比较有参考价值,贴上来分享交流一下。

主要功能是在1-100中自己猜测一个数值,随后系统产生数值看是否符合猜测,如果不符合选择高于或者低于猜测数值,系统继续产生随机数,最后成功找到猜测值。

实现方法为采用二分法,每次取中值,如果高了则继续取下半部分的中值,如果低了则取上半部分的中值,以此类推,最后找到正确猜测值。

1frompip.backwardcompatimportraw_input23PRint("Please think of a number between 0 and 100!")45#设初始值6hi = 1007lo =08guessed =False9guess =010whilenotguessed:11guess = (int)((hi + lo)/2)#注意此处将结果强转为int型,否则系统值将会是浮点数12print("Is your secret number"+ str(guess) +"?")13#输入语句14user_inp = raw_input("Enter 'h' to indicate the guess is too high. Enter 'l' to indicate the guess is too low. Enter 'c' to indicate I guessed correctly.")15#c为猜测正确,h为数值高了,l为低了16ifuser_inp =='c':17guessed =True18elifuser_inp =='h':19hi =guess20elifuser_inp =='l':21lo =guess22else:23print("Sorry, I did not understand your input.")24print('Game over. Your secret number was:'+ str(guess))

 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
© 2005- 王朝網路 版權所有 導航