自学python。在每一轮之后分数都会增加
TL:DR试图建立一个评分系统,当你得到正确答案时,它似乎不会上升 正如标题所说,我正在自学python,因此这只是我编写的第二段代码(提示我为什么学习python)。从语法到如何更好地评论,我非常乐意接受批评。说到这里,让我们开始讨论我的问题 这是一个小小的猜谜游戏。我正在读的这本书教授了“猜测”和后续代码。我的问题在于代码的一个小方面。评分系统不会增加 我在for循环中设置了名为games的代码,然后尝试在每一轮开始时显示该代码,并进行正确的猜测。但是,在前几轮中,它将显示0,然后显示2(或者我认为您当前的分数是多少…)。我想问题是我在if语句中调用了score+1 int,但是我移动了代码,无法理解它 我知道它不漂亮!也有一些错误(游戏的数量不是你输入的)。现在我只在处理评分系统自学python。在每一轮之后分数都会增加,python,python-3.x,Python,Python 3.x,TL:DR试图建立一个评分系统,当你得到正确答案时,它似乎不会上升 正如标题所说,我正在自学python,因此这只是我编写的第二段代码(提示我为什么学习python)。从语法到如何更好地评论,我非常乐意接受批评。说到这里,让我们开始讨论我的问题 这是一个小小的猜谜游戏。我正在读的这本书教授了“猜测”和后续代码。我的问题在于代码的一个小方面。评分系统不会增加 我在for循环中设置了名为games的代码,然后尝试在每一轮开始时显示该代码,并进行正确的猜测。但是,在前几轮中,它将显示0,然后显示2(或
#this is a guess the number game.
import random
#Get's user's name
print("Hello. Welcome to Print's guessing game. Please enter your name: ")
userName = input()
#askes if they are ready
print("Are you ready to play " + userName + "?")
ready = input().lower()
if ready == 'yes' :
print("Let's get started")
else:
while ready != 'yes':
print("Let me know when you are ready")
ready = input().lower()
#Game start
#number of games
games = int(input("How many games would you like to play?"))
if games >= 1:
print("Let's get started")
for games in range (int(games), 1, -1):
while games != 1:
print("I am thinking of a number between 1 and 20 ")
secretNumber = random.randint(1, 20)
score = 0
print("Current score: " + str(score))
print("Debug: " + str(secretNumber))
for guessTaken in range (7, 1, -1):
print("you have " + str(guessTaken - 1 ) + " guesses left")
guess = int(input())
if guess < secretNumber:
print("Your guess is to low. Please guess again")
elif guess > secretNumber:
print("Your guess is too high. Maybe something a little lower?")
else:
break # This conditon is for the right guess.
if guess == secretNumber:
print("good Job " + userName + "! you guessed the number right!")
score = int(score + 1)
print("your score is " + str(score))
games = int(games - 1)
else:
print("Nope, the number I was thinking of was " + str(secretNumber))
print("you have " + str(games) + " games left")
elif games == 0:
while games == 0:
print("Would you like to exit? Yes or No ")
exit = input().lower()
if exit == 'yes':
quit()
else:
games = int(input("How many games would you like to play?"))
else:
print("wtf")
这是一个猜数字游戏。
随机输入
#获取用户的用户名
print(“你好。欢迎参加print的猜谜游戏。请输入您的姓名:”)
用户名=输入()
#问他们是否准备好了
打印(“您准备好玩“+用户名+”?”)
ready=input().lower()
如果准备就绪==“是”:
打印(“让我们开始吧”)
其他:
准备好了!='是的:
打印(“准备好后告诉我”)
ready=input().lower()
#比赛开始
#比赛次数
games=int(输入(“您想玩多少游戏?”)
如果游戏>=1:
打印(“让我们开始吧”)
对于范围内的游戏(int(游戏),1,-1):
玩游戏时!=1:
打印(“我想到的是一个介于1和20之间的数字”)
secretNumber=random.randint(1,20)
分数=0
打印(“当前分数:+str(分数))
打印(“调试:+str(secretNumber))
对于在范围(7,1,-1)内进行的猜测:
打印(“您有”+str(猜测-1)+“猜测剩余”)
guess=int(输入())
如果guess每次代码通过while循环时,score变量都被初始化为零。如果希望它跟踪所有游戏的总分,请在打印
后立即初始化它(“让我们开始”)
。这将重置他们的分数,只要他们告诉你他们想玩多少场比赛
如果在他们退出您的程序之前,您不希望他们的分数重置,则您必须在程序开始时对其进行初始化。通过您的
导入random
可以很好地工作。每次代码通过while循环时,您的score变量都被初始化为零。如果希望它跟踪所有游戏的总分,请在打印后立即初始化它(“让我们开始”)
。这将重置他们的分数,只要他们告诉你他们想玩多少场比赛
如果在他们退出您的程序之前,您不希望他们的分数重置,则您必须在程序开始时对其进行初始化。通过你的
import random
进行升级会很好。将此->分数=0移动到循环之前将此->分数=0移动到循环之前就是这样!非常感谢你!由于它在for循环之后,while循环一直运行,直到games变量等于1,所以它才返回到0。根据游戏变量的不同,可能会有很多循环。问题是每个循环都会导致您的分数重置为0。为了防止重置,您必须将分数的初始化移到循环之外。就是这样!非常感谢你!由于它在for循环之后,while循环一直运行,直到games变量等于1,所以它才返回到0。根据游戏变量的不同,可能会有很多循环。问题是每个循环都会导致您的分数重置为0。为了防止重置,必须将分数的初始化移到循环之外。