第四课 课后题 求助 guess = int(temp)
import randomsecret = random.randint(1,10)
print('============我爱鱼C工作室==============')
temp = input('不妨猜一下小甲鱼心里想的数字是多少:')
guess = int(temp)
while guess != secret:
temp = input('haha,猜错喽!!!:')
if guess == secret:
print('握草这你都猜的到?')
print('哼哼,猜中了也没有奖励哦!')
else:
if guess > secret:
print('错了,大了大了')
else:
print('呵呵,小了小了啊')
print('游戏结束,不完喽!!!')
看着这里i guess = int(temp)是重复 定义了一遍把temp转换成整型 为什么循环上面有一次定义了循环里面还要没循环一次 都定义一遍呢?
然后我把循环里面的 定义整型 去掉了 就填什么数字 都提示小....................... 因为你把while循环里的guess变量去掉之后,就只有while前面那个guess被赋值了,while只能用这个值
而且你每次输入的数字都被赋值到循环内的temp上,相当于循环前面的guess的值永远是第一次你输入的那个数
所以要小一直小,要大一直大。
import random
secret = random.randint(1,10)
print('============我爱鱼C工作室==============')
temp = input('不妨猜一下小甲鱼心里想的数字是多少:')
guess = int(temp)
#这个guess是你第一次赋的值
while guess != secret:
temp = input('haha,猜错喽!!!:')
guess = int(temp)#你之后赋的值都在这,去掉它,就只有上面的能用了
if guess == secret:
print('握草这你都猜的到?')
print('哼哼,猜中了也没有奖励哦!')
else:
if guess > secret:
print('错了,大了大了')
else:
print('呵呵,小了小了啊')
print('游戏结束,不完喽!!!')
python中的变量不用定义,直接赋值使用即可
int()的作用不是定义,而是将temp强制转化为整形,因为input返回的类型为字符串,如果不强制转换,后面的比较是用数字和字符串比较,结果永远为假,所以肯定走最后的else分支 循环外面用int是为了把字符串转成整型,因为input接收的是字符串。
而循环里面是错了之后temp又接收了用户一个输入。guess = int(temp)这句其实有两个作用,一是:字符串转整型;二是给guess赋值,因为后面if判断条件有guess。 哦 稍作补充,如果没有在循环里面给guess赋值,那么guess在第一次赋值之后就固定了,后面用户的输入并没有起到任何作用 print('----------我爱鱼C工作室----------')
import random#调用random函数
secret = random.randint(1,10)#随机生成一个1-10的数字
temp = input("不妨试一下小甲鱼现在心里想的是哪个数字:")
guess = int(temp)#用户输入的数字传给guess
while guess != secret :
temp = input("哎呀,猜错了,请重新输入吧:")
guess = int(temp)#循环再次输入并传给guess,若不输入,则进入死循环
if guess ==secret :
print("卧槽,你是小甲虫心里的蛔虫嘛?!")
print("哼,猜中了也没有奖励!")
else :
if guess > secret :
print("哥,大了大了~~~")
else :
print("嘿,小了小了~~~")
print("不玩啦,游戏结束") 胖嘟嘟的女屌丝 发表于 2017-12-29 09:45
print('----------我爱鱼C工作室----------')
import random#调用random函数
secret = random.randint(1, ...
第二次guess = int(temp)int是把temp 强制转换, 如果不转换接收的就是字符串,后面没法比较,而且你的不对,你上面 直接把 guess 和 secret 进行比较 ,你少了 把 temp 赋值给 guess,这里的得到的guess 还是上面第一次 的 所以会一直进行循环,进入死循环 theonen 发表于 2017-12-29 03:40
因为你把while循环里的guess变量去掉之后,就只有while前面那个guess被赋值了,while只能用这个值
而且你 ...
a明白了 循环的时候是执行while里面的 temp这个变量的赋值和 上面的temp没什么关系了
谢谢懂了 紫夜之恋 发表于 2017-12-29 08:48
循环外面用int是为了把字符串转成整型,因为input接收的是字符串。
而循环里面是错了之后temp又接收了用 ...
谢谢指导感激不尽 谢谢懂了 紫夜之恋 发表于 2017-12-29 09:16
哦 稍作补充,如果没有在循环里面给guess赋值,那么guess在第一次赋值之后就固定了,后面用户的输入并没有 ...
嗯呢 嗯 胖嘟嘟的女屌丝 发表于 2017-12-29 09:45
print('----------我爱鱼C工作室----------')
import random#调用random函数
secret = random.randint(1, ...
嗯呢 谢谢谢谢指导 胖嘟嘟的女屌丝 发表于 2017-12-29 09:48
第二次guess = int(temp)int是把temp 强制转换, 如果不转换接收的就是字符串,后面没法比较,而且你 ...
嗯呢知道了{:5_92:} BngThea 发表于 2017-12-29 07:48
python中的变量不用定义,直接赋值使用即可
int()的作用不是定义,而是将temp强制转化为整形,因为input返 ...
谢谢指导 print("""用python设计第一个游戏---改进1""")
import random
num1 = random.randint(1,2)
times = 3
temp = input ("随意猜一个数字(最多三次机会):")
guess = int (temp)
while (guess!= num1) and (times>0) :
if guess == num1:
print("right")
print("为啥出不来")
else:
if guess > num1 :
print("大了")
else:
print("小了")
times = times - 1
if times>0:
print("最后第" + str(times) + "次机会!")
temp = input("请重新输入:")
guess = int(temp)
else:
print("机会用光了··")
print("游戏结束")
为啥right出不来呀
页:
[1]