代码中一些不太懂的地方,求解释,谢谢
import randomsecret=random.randint(1,100)
time=3
guess=0 ##为什么要赋值guess=0
print('-----welcome to game world-----')
#:为什么要一下的标红步骤不需要了:#guess=int(temp)
#print('give a number:')
while (guess!=secret)and (time>0):
temp=input('')
guess=int(temp)
time=time-1
if(guess==secret)and (time>0):
print('Wa!congratulations to you')
else:
if (guess>secret)and (time>0):
print('sorry,too big')
if (guess<secret) and (time>0):
print('sorry,too small')
if time==0:
print('sorry,there no times')
print('game over')
以上问题烦请大家帮忙解答一下,谢谢
① 不然 guess 没有初始化, 程序就会报错
② 已经把输入放进循环里了 import random
secret=random.randint(1,100)
time=3
guess=0 # guess 等于只是把值初始化,不然你while 那会报错
print('-----welcome to game world-----')
print('give a number:')
# 这边几步不需要是因为放到了循环里去了 ,循环里有input 用户输入
while (guess!=secret)and (time>0):
temp=input('')
guess=int(temp)
time=time-1
if(guess==secret)and (time>0):
print('Wa!congratulations to you')
else:
if (guess>secret)and (time>0):
print('sorry,too big')
if (guess<secret) and (time>0):
print('sorry,too small')
if time==0:
print('sorry,there no times')
print('game over') 还有 建议以后 如果你要
print('give a number:')
temp=input('')
改成:
temp = input('give a number:')
效果是一样的 你得赋值了下面才能使用,不赋值的话,python不知道这个变量是个啥。
并且赋值还不能复制等于你randint里面的范围数字,不然就没下面的猜数字环节了。
标红步骤不需要,是因为下面有个类似的int代码了。 你代码里面还有一个错误,不过程序不会报错:
1.你注释掉了那个print,所以那个print里面的内容要把它放到input里面
import random
secret=random.randint(1,100)
time=3
guess=0 ##初始化guess,不然会报错
print('-----welcome to game world-----')
#:为什么要一下的标红步骤不需要了:#guess=int(temp)
#答:因为前面guess已经赋值了,而且赋的值是int类型得值
#print('give a number:')
#答:input里面包括输出
while (guess!=secret)and (time>0):
temp=input('give a number:')
guess=int(temp)
time=time-1
if(guess==secret)and (time>0):
print('Wa!congratulations to you')
else:
if (guess>secret)and (time>0):
print('sorry,too big')
if (guess<secret) and (time>0):
print('sorry,too small')
if time==0:
print('sorry,there no times')
print('game over') 如果不先声明一个变量名的初始值,那么在后面循环的条件判断时就会因为无法找到guess这个变量而报错。
第二个问题是前面这段代码没有改进的时候使用的input方法返回的结果是字符串,所以需要用int来改变数据类型,这里前面没有使用input方法,所以不用特地int来改变。 import random
secret=random.randint(1,100)
time=3
guess=0
print('-----welcome to game world-----')
print('give a number:')
while (guess!=secret)and (time>0):
temp=input('')
guess=int(temp)
time=time-1
if(guess==secret)and (time >= 0):
print('Wa!congratulations to you')
else:
if (guess>secret)and (time >= 0):
print('sorry,too big')
if (guess<secret) and (time >= 0):
print('sorry,too small')
#这里不用再判断等于0的情况,否则会出现输入三次,判断两次的情况
print('sorry,there no times, game over')
页:
[1]