猜数字
随机三位数,猜后提示那位数猜对知道猜对为止,但是我我的程序总卡在print("有两位...这里无论输入什么数字都是有两位i数字猜对import random
number = random.randint(100, 999)
print("--------我爱学习--------")
tem = input("猜猜这个数字")
guess = int(tem)
i = 1
# 电脑随机的数字 个 十 百
numG = number % 10
numS = number // 10
numB = numS // 10
num = ["numG", "numS", "numB"]
# 我们自己猜的数
gueG = guess % 10
gueS = guess // 10
gueB = gueS // 10
#
while guess != number:
i = i + 1
if (guess == number):
break
# 有几位数猜对
else:
if "gueG"and "gueS" and "gueB" in num:
print("有三位数猜对,但是位置不对")
break
else:
if ("gueG"and "gueS") or ("gueS" and "gueB") or \
("gueG"and "gueB") in num:
print("有两位数猜对")
break
else:
if "gueG"or "gueS" or "gueB" in num:
print("有一位位数猜对")
break
print("nb猜中了")
print("你一共猜了", i, "次")
print("游戏结束不玩了")
个位十位百位的计算:
numG = number % 10
numS = number %100//10
numB = numS // 100 还是不对好像与个十百没关系
我将随机数改为188输出
--------我爱学习--------
猜猜这个数字199
大了!!!
有三位数猜对,但是位置不对
你再猜猜这个数字 这个又BUG但是不晓得bug在什么地方 sunrise085 发表于 2020-5-7 16:54
个位十位百位的计算:
还是不对好像与个十百没关系
我将随机数改为188输出
--------我爱学习--------
猜猜这个数字199
大了!!!
有三位数猜对,但是位置不对
你再猜猜这个数字 大大的拳头 发表于 2020-5-7 17:02
还是不对好像与个十百没关系
我将随机数改为188输出
--------我爱学习--------
捏的程序问题太多了,帮你修改了一下
import random
number = random.randint(100, 999)
print("--------我爱学习--------")
guess = 0
i = 0
# 电脑随机的数字 个 十 百
numG = number % 10
numS = number % 100 // 10
numB = numS // 100
num=
while guess != number:
# 我们自己猜的数
tem = input("猜猜这个数字")
guess = int(tem)
gueG = guess % 10
gueS = guess % 100 // 10
gueB = gueS // 100
i = i + 1
if (guess == number):
break
# 有几位数猜对
else:
if gueG in num and gueS in num and gueB in num:
print("有三位数猜对,但是位置不对")
else:
if (gueG in num and gueS in num) or (gueS in num and gueB in num ) or \
(gueG in num and gueB in num) :
print("有两位数猜对")
else:
if gueG in num or gueS in num or gueB in num:
print("有一位位数猜对")
print("nb猜中了")
print("你一共猜了", i, "次")
print("游戏结束不玩了")
大大的拳头 发表于 2020-5-7 17:03
还是不对好像与个十百没关系
我将随机数改为188输出
--------我爱学习--------
你是想让它显示什么
把最终效果发过来 十位好像不对吧 那个数组num要改成这样
num =
不然他显示出来的是文本 本帖最后由 老兵hb 于 2020-5-7 17:24 编辑
if ("gueG"and "gueS") or ("gueS" and "gueB") or("gueG"and "gueB") in num:
这里应该是电脑随机和个人猜的去对比,这里描述不对吧
老兵hb 发表于 2020-5-7 17:23
if ("gueG"and "gueS") or ("gueS" and "gueB") or("gueG"and "gueB") in num:
这里应该是电脑随 ...
同感 你代码的问题太多了,我重新优化了一下import random
number = random.randint(100, 999)
print("--------我爱学习--------")
Flag=1
i = 0
while Flag:
tem = input("猜猜这个数字")
guess = int(tem)
i+=1
# 电脑随机的数字 个 十 百
numG = number % 10
numS = number % 100//10
numB = number // 100
num =
# 我们自己猜的数
gueG = guess % 10
gueS = guess % 100//10
gueB = guess // 100
gue =
#
if (guess == number):
Flag=0
else:
if .count(True)==3:
print("有三位数猜对,但是位置不对")
if .count(True)==2:
print("有两位数猜对")
if .count(True)==1:
print("有一位位数猜对")
if .count(True)==0:
print("没有数字猜对")
print("nb猜中了")
print("你一共猜了", i, "次")
print("游戏结束不玩了") #-*-coding:gbk-*-
import random
number = random.randint(100 , 999)
# print('number = ' , number)
numG , numS , numB = number // 100 , (number % 100) // 10 , number % 10
i = 1
print("--------我爱学习--------")
while True:
guess = int(input("猜猜这个数字 : "))
if guess == number :
break
else:
gueG , gueS , gueB = guess // 100 , (guess % 100) // 10 , guess % 10
d , e = ,
for x in e :
if x in d :
if len(d) == 3 : print('正确的数字:' , x , end = '')
else : print(' ,' , x , end = '')
d . remove(x)
if len(d) < 3 : print()
print('有' , 3 - len(d) , '位数猜对')
print()
i += 1
print("nb猜中了")
print("你一共猜了" , i , "次")
print("游戏结束不玩了") 根据你在QQ上改的题,我写的代码:
print("--------我爱学习--------")
number = 188
i = 0
# 电脑随机的数字 个 十 百
numG = number//100
numS = (number-(number//100*100))//10
numB = (number-(number//10*10))
num =
while True:
#正确的数字
True_gue = []
#询问
tem = input("猜猜这个数字:")
guess = int(tem)
# 我们自己猜的数
gueG = guess//100
gueS = (guess-(guess//100*100))//10
gueB = (guess-(guess//10*10))
i += 1
if (guess == number):
print("nb猜中了")
print("你一共猜了", i, "次")
print("猜中了也没有奖励 ")
print("游戏结束不玩了")
break
else:
if (guess < number):
print("小了!!!")
else:
print("大了!!!")
if gueG == num:
True_gue.append('百位上的'+str(gueG))
if gueS == num:
True_gue.append('十位上的'+str(gueS))
if gueB == num:
True_gue.append('个位上的'+str(gueB))
if len(True_gue) == 0:
print('所有数位都猜错了!')
else:
for s in True_gue:
print(s,end = ',')
print('猜对了') 那个最佳答案简直bug百出--------我爱学习--------
猜猜这个数字1
有两位数猜对
猜猜这个数字2
有两位数猜对
猜猜这个数字3
有两位数猜对
猜猜这个数字4
有两位数猜对
猜猜这个数字5
有三位数猜对,但是位置不对
猜猜这个数字555
有三位数猜对,但是位置不对
猜猜这个数字666
有一位位数猜对
猜猜这个数字6
有两位数猜对 {:10_257:}各位大佬牛逼
页:
[1]