码迷,mamicode.com
首页 > 编程语言 > 详细

算法之--猜测商品价格

时间:2018-03-25 22:18:50      阅读:221      评论:0      收藏:0      [点我收藏+]

标签:coding   一个   put   区间   计算   bsp   最快   post   1.0   

场景:主持人给个商品,价格在99999中,你说一个价格,支持人会比对实际价格,来告诉你是高了,还是低了,如何用最少的次数猜测到商品价格。

思路:二分查找法

上代码:

# -*- coding:utf-8 -*-
# 猜商品价格游戏--使用二分法最快 前提:价格在999元以内
#商品实际价格
oldPrice=0
#用户猜测的价格
caiPrice=0
#区间最低价格  -- 用于计算最佳猜测价格
zuidi=0
#区间最高价格
zuigao=99999
oldPrice=int(input("请输入商品实际价格:"))
caiPrice=int(input("请输入您猜的价格:"))

while oldPrice!=caiPrice:
      if caiPrice>oldPrice:    
          print("高了")
          print("根据您的猜测价格,最佳价格策略为:")
          zuigao=caiPrice
          print((zuidi+zuigao)/2)
          caiPrice=int(input("请输入您猜的价格:"))
      elif caiPrice<oldPrice : 
          print("低了")
          print("根据您的猜测价格,最佳价格策略为:")
          zuidi=caiPrice
          print((zuidi+zuigao)/2)
          caiPrice=int(input("请输入您猜的价格:"))
if oldPrice==caiPrice:
    print("恭喜您猜对了")

 

实际运算结果:商品实际价格越高,需要的次数要多

请输入商品实际价格:800
请输入您猜的价格:500
低了
根据您的猜测价格,最佳价格策略为:
749.5
请输入您猜的价格:750
低了
根据您的猜测价格,最佳价格策略为:
874.5
请输入您猜的价格:874
高了
根据您的猜测价格,最佳价格策略为:
812.0
请输入您猜的价格:812
高了
根据您的猜测价格,最佳价格策略为:
781.0
请输入您猜的价格:781
低了
根据您的猜测价格,最佳价格策略为:
796.5
请输入您猜的价格:796
低了
根据您的猜测价格,最佳价格策略为:
804.0
请输入您猜的价格:804
高了
根据您的猜测价格,最佳价格策略为:
800.0
请输入您猜的价格:800
恭喜您猜对了

 

算法之--猜测商品价格

标签:coding   一个   put   区间   计算   bsp   最快   post   1.0   

原文地址:https://www.cnblogs.com/25miao/p/8647211.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!