dicegame=input("wanna play dice? yes/no : ")
userdice1=random.randint(1,6)
userdice2=random.randint(1,6)
pythondice1=random.randint(1,6)
pythondice2=random.randint(1,6)
print("you got", userdice1,"and", userdice2)
print("and i got",pythondice1,"and",pythondice2)
if userdice1+userdice2==pythondice1+pythondice2:
print("its a tie!")
if userdice1+userdice2<pythondice1+pythondice2:
print("i won!")
if userdice1+userdice2>pythondice1+pythondice2:
print("you won!, great job")
dice=input("wanna play again? : ")
if input=="yes":
print(dicegame)
if input=="no":
print("cya later.")
#如果您输入yes,则应该重复骰子游戏,但在我输入yes后,它只会显示进程已完成,退出代码为0
dice
中。但是,之后您尝试通过input
访问它。我假设您打算使用dice
,但以防万一:不要使用input
作为变量名,这是一种糟糕的做法李>请尝试以下操作:
变化:
dice
从最后五行重命名为“dicegame”input
(用作变量名)也更改为dicegame
李>你发布的代码中有一些问题;我会给你提一些建议
首先,当用户输入他们是否想再次播放的答案时,代码不会检测到这一点,因为您使用了不同的变量名而不是
dice
接下来,您的行
dicegame=input("wanna play dice? yes/no : ")
实际上没有做任何事情,因为您设置的变量不再使用最后,你应该把你的游戏代码组织成一个函数,然后把它全部放进一个while循环,如果用户一直输入“yes”,这个循环可以反复运行。一个
main
函数也可以用来很好地组织这个过程,您应该始终使用其中的一个游戏的一个有效示例可以是:
虽然从原始代码的角度来看,其他答案都是多余的,但我感觉您只是从Python开始。因此,我会尽量让这一切变得平易近人。首先,我认为你可能会被函数的实际含义绊倒
input
是一个函数,而不是一个值。(如果你曾经学过数学,就把它想象成f(x)
或sin(x)
/cos(x)
/tan(x)
)。所有函数都允许您传入一个数字,然后再从中获取一个不同的数字。虽然稍微复杂一点,input
也不例外虽然这段视频看起来相当丢脸,但它的意思是:https://www.youtube.com/watch?v=ZEsCla92mek
把功能想象成一台机器(把原材料放进去,机器改变它,然后吐出有用的东西),语句
if input=="yes"
是问计算机机器是否等于"yes"
,而不是机器的输出是否等于"yes"
。在解决代码中的错误方面,您可能希望了解
while
循环。这个关键字告诉计算机继续执行相同的操作,直到满足某个功能。例如(使用您自己的一些变量),while (userdice1 != 1): userdice1 = random.randint(1,6)
在满足条件之前不会停止生成新数字,即直到userdice1 == 1
此外,您应该在线搜索
break
关键字,这样您就可以避免循环;那里有很多资源如果你能处理好这三点,你将很容易解决这个问题😁
相关问题 更多 >
编程相关推荐