在我的蟒蛇猜谜游戏中,如何将我的猜测和学分结合起来呢?例如,如果第一次尝试时我猜了6次,那么当我再次按y做游戏时,我花了10次猜测,我怎么才能让这两种猜测组合在一起,总共16次猜测,同样的事情与学分(如果解释不好的话)是相同的:
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()发布于 2022-06-08 00:48:26
从num_of_guess = 0内部释放check_range_main()
..。
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:https://stackoverflow.com/questions/72538864
复制相似问题