我需要制作一个占5%到20%的时间的程序

时间:2016-11-12 22:15:43

标签: python python-2.7

我正在制作一个简单的程序,要求你猜出一个数字并告诉你是不是

a:太高了

b:太低了

或c:发现

我想让这个程序骗你5%到20%的时间让你知道你有多接近。 这是我目前的代码:

start = 'yes'

qwe = raw_input('want to play a game?:')
if qwe == start:
    import random
    value = random.randrange(1, 100)
    original = -1
    score = 0
    while original != value:
        score = score + 1
        original = int(raw_input('pick a number between 1 and 100:'))
        if original == value:
            print "you win your score is", score
        elif original >value:
            print 'too high'
        else:
            print 'too low'
else:
    print "that's unfortunate"

1 个答案:

答案 0 :(得分:1)

只需用

替换print语句
print(lie_about("too high","too low"))

print(lie_about("too low","too high"))

其中lie_about定义为:

import random

def lie_about(true_answer,false_answer,true_chance=0.8):
    return true_answer if random.random()<true_chance else false_answer

(默认为20%的时间,你可以在第三个可选参数中调整它)

顺便说一句:如果你必须选择5到20的百分比,你可以随意选择,尽管它看起来很牵强......

def lie_about(true_answer,false_answer):
    true_chance = random.uniform(0.8, 0.95)
    return true_answer if random.random()<true_chance else false_answer