我正在制作一个简单的程序,要求你猜出一个数字并告诉你是不是
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"
答案 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