我需要做一个程序,谎言百分之五到百分之二十的时间

2022-10-02 01:20:20 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在做一个简单的程序,让你猜一个数字,告诉你你是谁

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"

Tags: 程序inputrawifvalue时间数字randomstartelsetooscoreprintoriginalqwe
1条回答
网友
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