鱼C论坛

 找回密码
 立即注册
查看: 1658|回复: 2

[已解决]关于有限次数循环

[复制链接]
发表于 2021-4-16 13:43:45 | 显示全部楼层 |阅读模式

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

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

x
本帖最后由 楪祈53409 于 2021-4-16 13:46 编辑

在2016版python教程p5中,我想实现有限次数的循环,定义函数time=time+1,会报错,这样的定义无效。求助!如果不加这一部分内容,代码可以成功运行。原始代码如下:
{code}
import random
secret=random.randint(5,20)
print('-------------------------姬骑士的末路----------------------------')
temp = input("你抓到了一个姬骑士,她掌握了重要的情报,你将负责拷问出这些情报。\n现在,你需要输入调教的时间\n请注意:太少无效,太多则会导致人物坏掉而任务失败.\n输入:")
guss = int(temp)
print("'咕,杀了我'")
while ( guss != secret ) :
    if guss==secret:
        print("要。。坏掉了。。。求求你,停下。。。我说!所以不要在继续了!")
        print("已经。。。回不去了。。。。")
    else:
        if guss<secret:
                print("就这?\n我是绝对不会屈服的!")
        else:
            if guss>secret:
                print("阿巴阿巴阿巴.....\n(她已经无法思考,彻底的坏掉了)\n任务失败")
        temp = input("\n时间回溯,你又获得了一次机会")
        guss = int(temp)
else:
    print("要。。坏掉了。。。求求你,停下。。。我说!所以不要在继续了!")
    print("’已经。。。回不去了。。。。'\n任务成功")

{/code}


而我加循环次数以后的代码是:
{code}
import random
secret=random.randint(5,20)
print('-------------------------姬骑士的末路----------------------------')
time=time+1
temp = input("你抓到了一个姬骑士,她掌握了重要的情报,你将负责拷问出这些情报。\n现在,你需要输入调教的时间\n请注意:太少无效,太多则会导致人物坏掉而任务失败.\n输入:")
guss = int(temp)
print("'咕,杀了我'")
while ( guss != secret ) and ( time < 5 ) :
    if guss==secret:
        print("要。。坏掉了。。。求求你,停下。。。我说!所以不要在继续了!")
        print("已经。。。回不去了。。。。")
    else:
        if guss<secret:
                print("就这?\n我是绝对不会屈服的!")
        else:
            if guss>secret:
                print("阿巴阿巴阿巴.....\n(她已经无法思考,彻底的坏掉了)\n任务失败")
        temp = input("\n时间回溯,你又获得了一次机会")
        guss = int(temp)
else:
    print("要。。坏掉了。。。求求你,停下。。。我说!所以不要在继续了!")
    print("’已经。。。回不去了。。。。'\n任务成功")

{/code}

我知道我这个东西各种意义上都不对劲,不过首先我关于代码方面想要求教!到底应该怎么定义迭代函数?
最佳答案
2021-4-16 13:51:10
是这样吗?

  1. import random

  2. secret = random.randint(5,20)
  3. print('-------------------------姬骑士的末路----------------------------')
  4. # 这里定义变量用于计算循环次数
  5. time = 0

  6. temp = input("你抓到了一个姬骑士,她掌握了重要的情报,你将负责拷问出这些情报。\n现在,你需要输入调教的时间\n请注意:太少无效,太多则会导致人物坏掉而任务失败.\n输入:")
  7. guss = int(temp)
  8. print("'咕,杀了我'")
  9. while ( guss != secret ) and ( time < 5 ) :
  10.     if guss == secret:
  11.         print("要。。坏掉了。。。求求你,停下。。。我说!所以不要在继续了!")
  12.         print("已经。。。回不去了。。。。")
  13.     else:
  14.         if guss < secret:
  15.                 print("就这?\n我是绝对不会屈服的!")
  16.         else:
  17.             if guss > secret:
  18.                 print("阿巴阿巴阿巴.....\n(她已经无法思考,彻底的坏掉了)\n任务失败")
  19.         temp = input("\n时间回溯,你又获得了一次机会")
  20.         guss = int(temp)
  21.     # 本次循环完成,计数器 +1
  22.     time += 1
  23. else:
  24.     print("要。。坏掉了。。。求求你,停下。。。我说!所以不要在继续了!")
  25.     print("’已经。。。回不去了。。。。'\n任务成功")
复制代码
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2021-4-16 13:51:10 | 显示全部楼层    本楼为最佳答案   
是这样吗?

  1. import random

  2. secret = random.randint(5,20)
  3. print('-------------------------姬骑士的末路----------------------------')
  4. # 这里定义变量用于计算循环次数
  5. time = 0

  6. temp = input("你抓到了一个姬骑士,她掌握了重要的情报,你将负责拷问出这些情报。\n现在,你需要输入调教的时间\n请注意:太少无效,太多则会导致人物坏掉而任务失败.\n输入:")
  7. guss = int(temp)
  8. print("'咕,杀了我'")
  9. while ( guss != secret ) and ( time < 5 ) :
  10.     if guss == secret:
  11.         print("要。。坏掉了。。。求求你,停下。。。我说!所以不要在继续了!")
  12.         print("已经。。。回不去了。。。。")
  13.     else:
  14.         if guss < secret:
  15.                 print("就这?\n我是绝对不会屈服的!")
  16.         else:
  17.             if guss > secret:
  18.                 print("阿巴阿巴阿巴.....\n(她已经无法思考,彻底的坏掉了)\n任务失败")
  19.         temp = input("\n时间回溯,你又获得了一次机会")
  20.         guss = int(temp)
  21.     # 本次循环完成,计数器 +1
  22.     time += 1
  23. else:
  24.     print("要。。坏掉了。。。求求你,停下。。。我说!所以不要在继续了!")
  25.     print("’已经。。。回不去了。。。。'\n任务成功")
复制代码
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 1 反对 0

使用道具 举报

 楼主| 发表于 2021-4-16 14:04:25 | 显示全部楼层

谢谢,就是这样.明白了。我之前是吧time+=1放在循环外面导致要么无法定义,要么就无法生效
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-4-26 23:54

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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