鱼C论坛

 找回密码
 立即注册
查看: 1252|回复: 9

[已解决]萌新求助

[复制链接]
发表于 2019-2-3 20:29:07 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
python里如何实现重新开始执行程序的功能?
类似于这样“python 里一个程序运行完毕之后,若输入字母x,程序重头开始,若输入y,则exit该程序”。

例:小甲鱼猜数字游戏
import random
times = 5
secret = random.randint(1,10)
print('--------第一个游戏升级版--------')
number = input("不妨猜一下我现在心里想的是哪个数字(范围1-10):")
guess = int(number)
if guess == secret:
        print("卧槽,你是我心里的**(智障)吗?!")
        print("哼,猜中了也没有奖励!")
while (guess != secret) and (times > 0):
        number = input("猜错了,请重新输入:")
        guess = int(number)
        times = times - 1
        if guess == secret:
                print("卧槽,你是我心里的**(智障)吗?!")
                print("哼,猜中了也没有奖励!")
        else:
                if guess > secret:
                        print('哥,大了大了')
                else:
                        print("嘿,小了!小了!!")
                if times > 0:
                        print('再试一次吧:')
                        print('剩余机会次数:',times)
                else:
                        print('机会用光咯')
print('游戏结束')

是否重新开始游戏(是/否)——> ‘是’(重新开始)      ‘否‘ (游戏结束)
最佳答案
2019-2-4 15:16:36
  1. def startgame():
  2.     import random
  3.     times = 5
  4.     secret = random.randint(1,10)
  5.     print('--------第一个游戏升级版--------')
  6.     number = input("不妨猜一下我现在心里想的是哪个数字(范围1-10):")
  7.     guess = int(number)
  8.     if guess == secret:
  9.             print("卧槽,你是我心里的**(智障)吗?!")
  10.             print("哼,猜中了也没有奖励!")
  11.     while (guess != secret) and (times > 0):
  12.             number = input("猜错了,请重新输入:")
  13.             guess = int(number)
  14.             times = times - 1
  15.             if guess == secret:
  16.                     print("卧槽,你是我心里的**(智障)吗?!")
  17.                     print("哼,猜中了也没有奖励!")
  18.             else:
  19.                     if guess > secret:
  20.                             print('哥,大了大了')
  21.                     else:
  22.                             print("嘿,小了!小了!!")
  23.                     if times > 0:
  24.                             print('再试一次吧:')
  25.                             print('剩余机会次数:',times)
  26.                     else:
  27.                             print('机会用光咯')
  28.     print('游戏结束')
  29.    
  30.     choice = input('是否重新开始游戏(是/否):')
  31.     if choice == '是':
  32.         startgame()
  33.     elif choice == '否':
  34.         print('退出游戏')
  35.     else:
  36.         print('输入错误,游戏爆炸')

  37.    
  38. startgame()
复制代码


也可以在函数中调用自身,但我不知道会出现啥不良后果...
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2019-2-3 20:33:02 | 显示全部楼层
我试了用
while
if
else
很麻烦emm
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-2-3 21:01:41 | 显示全部楼层
我感觉可以直接一个while true:然后下面代码都缩进,就一直循环了。。我也是弱鸡。。
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-2-3 21:36:33 | 显示全部楼层
输入X从头开始? 为啥要输入X从头开始,自动循环不好么,用while。

想要实现输入X的话,从头开始,就得调用函数了。

输入y的话就终止,可以在while内部增加一个if语句,判断input内容为y的话,就break。
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2019-2-3 22:16:24 | 显示全部楼层
heidern0612 发表于 2019-2-3 21:36
输入X从头开始? 为啥要输入X从头开始,自动循环不好么,用while。

想要实现输入X的话,从头开始,就得 ...

想问的就是输入X的话,从头开始这个
a = input('是否重新开始(是/否):')
‘是’(重新开始)      ‘否‘ (游戏结束)
调用函数的话怎么用呢?打扰一下
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2019-2-3 22:17:45 | 显示全部楼层
啊哈哈哈哈啊哈 发表于 2019-2-3 21:01
我感觉可以直接一个while true:然后下面代码都缩进,就一直循环了。。我也是弱鸡。。

这个一直循环的我知道
但是想问的是如果输入 ‘是’(重新开始)      ‘否‘ (游戏结束)这样子的话怎么实现呢
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-2-4 10:22:45 | 显示全部楼层
我觉得可以安装个goto包,然后使用goto语句
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-2-4 10:30:17 | 显示全部楼层
import random
flag=True
while flag:
    times = 5
    secret = random.randint(1,10)
    print('--------第一个游戏升级版--------')
    number = input("不妨猜一下我现在心里想的是哪个数字(范围1-10):")
    guess = int(number)
    if guess == secret:
            print("卧槽,你是我心里的**(智障)吗?!")
            print("哼,猜中了也没有奖励!")
    while (guess != secret) and (times > 0):
            number = input("猜错了,请重新输入:")
            guess = int(number)
            times = times - 1
            if guess == secret:
                    print("卧槽,你是我心里的**(智障)吗?!")
                    print("哼,猜中了也没有奖励!")
            else:
                    if guess > secret:
                            print('哥,大了大了')
                    else:
                            print("嘿,小了!小了!!")
                    if times > 0:
                            print('再试一次吧:')
                            print('剩余机会次数:',times)
                    else:
                            print('机会用光咯')
    if input('是否重新开始游戏(Y/N)')=='Y':
        flag=True
    else:flag=False
                        
print('游戏结束')
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-2-4 10:31:22 | 显示全部楼层
129784626 发表于 2019-2-4 10:30
import random
flag=True
while flag:

加一个判断标志就好
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-2-4 15:16:36 | 显示全部楼层    本楼为最佳答案   
  1. def startgame():
  2.     import random
  3.     times = 5
  4.     secret = random.randint(1,10)
  5.     print('--------第一个游戏升级版--------')
  6.     number = input("不妨猜一下我现在心里想的是哪个数字(范围1-10):")
  7.     guess = int(number)
  8.     if guess == secret:
  9.             print("卧槽,你是我心里的**(智障)吗?!")
  10.             print("哼,猜中了也没有奖励!")
  11.     while (guess != secret) and (times > 0):
  12.             number = input("猜错了,请重新输入:")
  13.             guess = int(number)
  14.             times = times - 1
  15.             if guess == secret:
  16.                     print("卧槽,你是我心里的**(智障)吗?!")
  17.                     print("哼,猜中了也没有奖励!")
  18.             else:
  19.                     if guess > secret:
  20.                             print('哥,大了大了')
  21.                     else:
  22.                             print("嘿,小了!小了!!")
  23.                     if times > 0:
  24.                             print('再试一次吧:')
  25.                             print('剩余机会次数:',times)
  26.                     else:
  27.                             print('机会用光咯')
  28.     print('游戏结束')
  29.    
  30.     choice = input('是否重新开始游戏(是/否):')
  31.     if choice == '是':
  32.         startgame()
  33.     elif choice == '否':
  34.         print('退出游戏')
  35.     else:
  36.         print('输入错误,游戏爆炸')

  37.    
  38. startgame()
复制代码


也可以在函数中调用自身,但我不知道会出现啥不良后果...
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-10-17 03:35

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表