【问题标题】:How do I limit it to 5 attempts and how they get 10 points added to their score if they guess correct, and they lose 1 point for wrong guess?我如何将其限制为 5 次尝试,如果他们猜对了,他们如何在分数上加 10 分,而猜错了他们会失去 1 分?
【发布时间】:2022-01-24 04:03:00
【问题描述】:

问题:(Python)编写一个程序,让用户猜测 1 到 10 之间的随机数。如果他们猜对了,他们的分数会增加 10 分,猜错则扣 1 分。给用户五个数字来猜测并在所有猜测完成后打印他们的分数。

fs:我下面已经有这段代码了,我现在的问题是如何将其限制为 5 次尝试,以及如何添加“评分系统”,如果他们猜对了,他们的分数会增加 10 分,然后他们就输了猜错得 1 分。

我的代码:

import random
target_num, guess_num = random.randint(1, 10), 0
while target_num != guess_num:
    guess_num = int(input('Guess a number between 1 and 10 until you get it right : '))
print('Well guessed!')

【问题讨论】:

  • 使用另一个变量来跟踪分数。然后锻炼哪些情况需要增加或减少

标签: python


【解决方案1】:

你应该这样做 -


import random
target_num, guess_num, tries, score= random.randint(1, 10), 0, 5, 0
for i in range(tries):
    guess_num = int(input('Guess a number between 1 and 10 until you get it right : '))
    if guess_num == target_num: 
       print('Well guessed!')
       score+=10
    else:
        score-=1
print(f'Your final score is {score}')

【讨论】:

  • 如果你不打算对它做任何事情,那么计算分数是没有意义的。你至少应该把它打印出来
  • 好点,编辑我的答案
【解决方案2】:

使用attempt 变量来跟踪用户猜了多少次。

使用score 变量跟踪猜测的累积分数。

import random
target_num, guess_num = random.randint(1, 10), 0
attempt = 0
score = 0
while attempt < 5:
    attempt += 1
    guess_num = int(input('Guess a number between 1 and 10: '))
    if target_num == guess_num:
        score += 10
        print('Correct! You get +10 points')
    else:
        score -= 1
        print('Wrong! You get -1 point')
print("Your score: ", score, " points.")

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-08-14
    • 2018-07-13
    • 1970-01-01
    相关资源
    最近更新 更多