首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何将猜测/信贷结合起来

如何将猜测/信贷结合起来
EN

Stack Overflow用户
提问于 2022-06-08 00:37:33
回答 1查看 148关注 0票数 -1

在我的蟒蛇猜谜游戏中,如何将我的猜测和学分结合起来呢?例如,如果第一次尝试时我猜了6次,那么当我再次按y做游戏时,我花了10次猜测,我怎么才能让这两种猜测组合在一起,总共16次猜测,同样的事情与学分(如果解释不好的话)是相同的:

代码语言:javascript
复制
  import random


# this function is for the welcome part of my code or the part where I give instructions on how to play
def game_intro():
    print("          ---- G U E S S I N G   G A M E ----")
    print("\n                 L E T S   P L A Y         ")
    print("""\nThe adjective of this game is to solve guess a 3 digit combination,
and it is your job to guess numbers 100-999 to find that combination!!""")
    print("Credits")
    print("1-4 guesses: up to 60 credits")
    print("5-10 guesses: 10 credits")
    print("if guesses more than 10 no credits")


num_of_guess = 0  # stores how many guess I have made
total_games = 1  # stores how many games I played
done = False  # set done to False
credit = 0


def check_range_main():
    global num_of_guess, credit  # global for getting stuff outside functions
    i = random.randint(100, 999)  # generate number at random
    num_of_guess = 0
    while not done:
        try:  # anything other than a number between 100, 999 gets an error
            user_input = int(input("\nEnter a guess between 100-999: "))
            num_of_guess += 1
            if user_input == i:
                print('you got it right in ', str(num_of_guess), 'tries')
                print(creditScore())
                new_game_plus()

            elif user_input < i:  # if player guess lower than I tell player
                print("To low")

            elif user_input > i:  # if player guess higher than tell players
                print("to high")

            elif user_input not in range(100, 999):
                print("Invalid. Enter a number between 100-999")
                num_of_guess += 1

        except ValueError:
            print("Invalid. Enter a number between 100-999")


def new_game_plus():
    global done, num_of_guess
    new_game = input("Do you want to start a new game? press y for yes n for no: ")
    if new_game == "y":
        check_range_main()
    else:
        done = True


def statistics(new_game):  # statistics for games after players finish
    global total_games, num_of_guess
    if new_game == "n":
        print()
        total_games += 1
        num_of_guess += num_of_guess
        print("P O S T   G A M E     R E P O R T")
        print()
        print(f"total {total_games} games played.")
        print('total guesses', num_of_guess)
        print("your average guess per game is", num_of_guess / total_games)


def creditScore():
    global credit, done
    credit = num_of_guess
    if 1 <= num_of_guess <= 4:
        print("game credits", 60 / credit)
    elif 5 <= num_of_guess <= 10:
        print("game credits", 10)
    else:
        print("no credits")
#print("total credits", )


# def functions matches() that computes and returns the number of matching digits in a guess, you may assume that the
# combination and the guess are unique three-digit numbers.


# def play_one_game():
#     global done
#     i = random.randint(100, 999)
#     while not done:
#         try:
#             user_input = int(input("\nEnter a guess between 100-999: "))
#             if user_input == i:
#                 print("Nice Job")
#                 done = True
#
#             elif user_input > i:
#                 print("input to high")
#
#             elif user_input < i:
#                 print("input to low")
#
#             elif user_input not in range(100, 999):
#                 print("invalid input a number in range of 100,999")
#
#         except ValueError:
#             print("invalid. input a number between 100,999")


# this is where all the different functions go
def main():
    game_intro()
    check_range_main()
    new_game_plus()
    statistics("n")
    creditScore()
    # play_one_game()


if __name__ == '__main__':
    main()
EN

回答 1

Stack Overflow用户

发布于 2022-06-08 00:48:26

num_of_guess = 0内部释放check_range_main()

..。

代码语言:javascript
复制
num_of_guess = 0  # stores how many guess I have made
total_games = 1  # stores how many games I played
done = False  # set done to False
credit = 0
num_of_guess = 0

def check_range_main():
    global num_of_guess, credit  # global for getting stuff outside functions
    i = random.randint(100, 999)  # generate number at random
    while not done:
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/72538864

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档