游戏改进
temp = input("What's this:")guess = int(temp)
while guess != 6:
temp = input("No:")
guess = int(temp)
if guess == 6:
print("You are right")
print("But,no reward")
else:
if guess > 6:
print("No,It's big.")
else:
print("No,It's small.")
print("Game over")
这代码里第一次输入数字不是6时,为啥不执行else里的内容? temp = input("What's this:")
guess = int(temp)
while guess != 6:
if guess == 6:
print("You are right")
print("But,no reward")
else:
if guess > 6:
print("No,It's big.")
else:
print("No,It's small.")
temp = input ("Try a again:")
guess =int(temp)
print("Game over")
这样就会先执行if..else.. 再执行input的指令 手机回帖不太方便,见谅。问题在于你发的代码第四,五两行。那两行原意是除第一次循环外,每次循环搜集用户输入的数字,然后进行判断。可是,pyshon的代码执行顺序是从上到下,从左到右,从外到内的。
当你第一次运行程序,输入数据,开启了循环条件,就是从循环外进入循环内部。之后你刚进入循环内部的第一行,执行的结果是再一次收集你的输入数字,然后转换数据类型再条件判断,输出结果。直到你猜对数字跳出循环内部,执行最后一句print语句。如果你要修改,可以同楼上一样,或者如下,利用break语句跳出循环:
while True:
temp = input("What's this:")
guess = int(temp)
if guess == 6:
print("You are right")
print("But,no reward")
break
else:
if guess > 6:
print("No,It's big.")
else:
print("No,It's small.")
print("Game over") 风琰流水 发表于 2020-2-19 01:21
temp = input("What's this:")
guess = int(temp)
while guess != 6:
但是这样,猜6的时,if guess == 6又不执行了。 鱼子酱POI 发表于 2020-2-19 04:34
手机回帖不太方便,见谅。问题在于你发的代码第四,五两行。那两行原意是除第一次循环外,每次循环搜集用户 ...
谢谢!你上面一段话给我的帮助太大了
页:
[1]