小甲鱼007讲改进小游戏
在看小甲鱼的007讲的时候,自己动手写代码,出现了以下两个问题,求助大神。如图所示,我想实现的效果应该是:
1、猜对了就直接结束,不输出“"三次都猜错了,没机会了",
2、猜错的情况下,“猜错了,还剩X次机会”和“请再猜一次”在同一行,(目前在两行)。
求教! 币 本帖最后由 歌者文明清理员 于 2023-5-8 22:05 编辑
算了,我直接说吧
猜对了里面的break改成 exit(),直接退出程序
在同一行的话,得再加上end="",sep是分隔符,end是字符串末尾的内容,设置为空字符串可以取消默认的换行
问题1:猜对了就直接结束,不输出“三次都猜错了,没机会了”
解决方法:加入判断语句。在猜对了的情况下,使用break语句跳出循环即可,代码如下:
import random
counts = 3
answer = random.randint(1, 10)
guess = int(input("猜猜猪猪侠心中想的是数字几,1~10的整数,有三次机会哦:"))
while counts > 0:
if guess == answer:
print("猜对了")
break
counts = counts - 1
if counts > 0:
print("猜错了,还剩", counts, "次机会", sep="")
guess = int(input("请再猜一次:"))
print("游戏结束!")
问题2:猜错的情况下,“猜错了,还剩X次机会”和“请再猜一次”在同一行,(目前在两行)。
解决方法:去掉print语句中的换行符"\n",然后把两条语句合并为一行即可,代码如下:
import random
counts=3
answer=random.randint(1,10)
guess=int(input("猜猜猪猪侠心中想的是数字几,1~10的整数,有三次机会哦:"))
while counts>0:
if guess==answer:
print("猜对了")
break
counts=counts-1
if counts>0:
print("猜错了,还剩",counts,"次机会",end=" ")
guess=int(input("请再猜一次:"))
print("游戏结束!")
有用请设置最佳答案 sfqxx 发表于 2023-5-8 22:20
问题1:猜对了就直接结束,不输出“三次都猜错了,没机会了”
解决方法:加入判断语句。在猜对了的情 ...
没求助帖先偷偷访问www.bilibili.com 歌者文明清理员 发表于 2023-5-8 22:39
没求助帖先偷偷访问www.bilibili.com
6 歌者文明清理员 发表于 2023-5-8 22:02
算了,我直接说吧
猜对了里面的break改成 exit(),直接退出程序
答对了要给反馈而不是退出软件,您这样的话不适合 sfqxx 发表于 2023-5-8 22:20
问题1:猜对了就直接结束,不输出“三次都猜错了,没机会了”
解决方法:加入判断语句。在猜对了的情 ...
第二个问题解决了,第一个问题没解决其实。三次都猜错了,我想告诉他“三次都猜错了,没机会了",而不是”游戏结束“,实际上这个问题没解决呢 ansire 发表于 2023-5-8 23:26
答对了要给反馈而不是退出软件,您这样的话不适合
啊这,不然就做不到了
或者你可以写到一个函数里
def main():
你原来的while循环代码
print("猜对了")
return#只退出函数
print('没机会了')
然后在主程序里
guess=...
main()
ansire 发表于 2023-5-8 23:28
第二个问题解决了,第一个问题没解决其实。三次都猜错了,我想告诉他“三次都猜错了,没机会了",而不是 ...
看4楼的吧 ansire 发表于 2023-5-8 23:28
第二个问题解决了,第一个问题没解决其实。三次都猜错了,我想告诉他“三次都猜错了,没机会了",而不是 ...
加个判断啊,把print("三次都猜错了,没机会了")
改成
if guess==answer:
print("牛逼对了")
else:
print("三次都猜错了,没机会了")
15113181453 发表于 2023-5-9 01:20
加个判断啊,把print("三次都猜错了,没机会了")
改成
这次OK了,感谢感谢。需要再嵌套一个if语句才行 import random
counts=3
answer=random.randint(1,10)
guess=int(input("猜猜猪猪侠心中想的是数字几,1~10的整数,有三次机会哦:"))
while True:
counts=counts-1
if guess==answer:
print("猜对了")
break
elif counts>0:
print("猜错了,还剩",counts,"次机会",end=" ")
guess=int(input("请再猜一次:"))
else:
print("三次都猜错了,没有机会了")
break
print("游戏结束!")
页:
[1]