while学的有点迷糊
球球哪路大神给解释一下import random
secret = random.randint(1,10)
times = 2
temp = input("不妨猜一下小甲鱼现在心里想的那个数字:")
while type(temp) == type(1): #感觉这个不应该是while type(temp) != type(1): 但是这个运行起来是相反的,==这个是正确的,很奇怪
print("抱歉,输入不合法,",end='')
temp = input("请输入一个整数:")
guss = int(temp)
if guss == secret:
print("哇草,你是小甲鱼心里的蛔虫吗?")
print("哼,猜中了也没有奖励!")
else:
while guss != secret and times >0:
guss = int(temp)
if guss == secret:
print("bingo!终于答对了")
print("哈哈,答对了也没有奖励!")
else:
if guss > secret:
print("猜错了,大了大了~")
else:
print("猜错了,小了,小了!")
temp = input("重新输入一个吧:")
while type(temp) == type(1): #感觉这个不应该是while type(temp) != type(1): 但是这个运行起来是相反的,==这个是正确的,很奇怪
print("抱歉,输入不合法,",end='')
temp = input("请输入一个整数:")
times = times - 1
print("机会用光了哦!")
print("游戏结束,不玩啦!")
==代表的是判断两边的变量或者值是否相等
=代表的是给左边的变量赋予右边的值 本帖最后由 tommyyu 于 2022-12-22 09:41 编辑
不论是 == 还是 != ,都是错误的。temp 是一个字符串类型的变量,在没有被 int 函数变成 整数前,type(temp) == type(1)永远不成立,type(temp) != type(1) 永远成立。
可以使用 isdecimal() 方法,如果字符串内全是数字则返回 True,否则返回 False。这样改:while not temp.isdecimal():
print("抱歉,输入不合法,",end='')
temp = input("请输入一个整数:") 为啥用type,type用的次数很少。 本帖最后由 无理想的闲鱼 于 2022-12-22 16:31 编辑
import random
secret = random.randint(1, 10) #秘密是1到9中任意一个整数
times = 2
temp = input("不妨猜一下小甲鱼现在心里想的那个数字:") # input()输入的内容属于str 类型的数据
while type(temp) == type(1):#str和int永远不能相等
print("抱歉,输入不合法,",end="")
首先,你要明白input()输入的内容属于str 类型的数据,str和int永远不能相等
其次,我帮你整理了一下,
import random
secret = random.randint(1,10)
times = 2
guess = int(input("不妨猜一下小甲鱼现在心里想的那个数字(范围1-9):"))#将temp的类型转化成int
while guess < 1 or guess > 9:#如果输入的数字不合法,会让你一直输入正确位置才进行下一步
print("抱歉,输入不合法,请再输入一次")
guess = int(input("不妨猜一下小甲鱼现在心里想的那个数字(范围1-9):"))
while times > 0: #我设置的是2次机会
if times == 2:
if guess == secret:
print("你是小甲鱼心里的蛔虫吗?","哼,猜中了也没有奖励",sep="\n")
break #猜中了就跳出while循环
elif guess > secret:
#elif 在Python语言中可用于代替如下斜体加粗的部分(else-if)
#在guess != secret的条件下,再多一个条件
print("猜错了,大了大了~")
elif guess < secret:
print("猜错了,小了,小了!")
if times == 1:
guess == int(input("重新输入一个吧:"))
if guess == secret:
print("bingo!终于答对了","哈哈,答对了也没有奖励!",sep="\n")
else:
print("没猜中哦,机会用光了哦!")
times -= 1 #简写版,就相当于times = times - 1
有需求再提
页:
[1]