鱼C论坛

 找回密码
 立即注册
查看: 1083|回复: 4

[已解决]有一个奇怪的问题,我按照书本的代码打,但是出现莫名的bug

[复制链接]
发表于 2018-12-8 21:55:42 | 显示全部楼层 |阅读模式

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

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

x
本帖最后由 chenlunyong1213 于 2018-12-8 21:55 编辑

大家好,我又来了。

这次发现了一个诡异的事情,我按照书本的逻辑,完成一个代码:
设计一个调查问卷,询问用户name,爬山的每周次数,收集数据到一个集合。

我的代码内容如下:
#设计一个调查问卷,询问用户name,爬山的每周次数,收集数据到一个集合。
go_on="True"
severy={}
while go_on=="True":
        name=input("please type your name?\n")
        answer=input("how times are you clamp every week?\n")
        
        severy[name]=answer
        go_onmark=input("please tell me whether you want to go on serve??\n Please Type (Yes/No) \n")
        
        if go_onmark=="no":
                go_on="False"


这个运行是正常的,但是按照书本的代码,运行的时候,出现了不能判断,无法进入go_onmark的判断环节,一直循环下去,书本的代码如下:


responses = {}
# 设置一个标志,指出调查是否继续
polling_active = True
while polling_active:
# 提示输入被调查者的名字和回答
 name = input("\nWhat is your name? ")
response = input("Which mountain would you like to climb someday? ")
# 将答卷存储在字典中
 responses[name] = response
# 看看是否还有人要参与调查
 repeat = input("Would you like to let another person respond? (yes/ no) ")
if repeat == 'no':
polling_active = False

# 调查结束,显示结果
print("\n--- Poll Results ---")
 for name, response in responses.items():
print(name + " would like to climb " + response + ".")

请大神帮忙看一下是不是哪里出了问题???谢谢!
最佳答案
2018-12-8 22:49:10
go_on=True
go_on=False
不要加引号
go_on=='False'   #这里go_on是字符串,所以会一直循环
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2018-12-8 22:20:02 | 显示全部楼层
后一个程序没有问题。
  1. responses = {}
  2. # 设置一个标志,指出调查是否继续
  3. polling_active = True
  4. while polling_active:
  5.     # 提示输入被调查者的名字和回答
  6.     name = input("\nWhat is your name? ")
  7.     response = input("Which mountain would you like to climb someday? ")
  8.     # 将答卷存储在字典中
  9.     responses[name] = response
  10.     # 看看是否还有人要参与调查
  11.     repeat = input("Would you like to let another person respond? (yes/ no) ")
  12.     if repeat == 'no':
  13.         polling_active = False
  14.     # 调查结束,显示结果
  15. print("\n--- Poll Results ---")
  16. for name, response in responses.items():
  17.     print(name + " would like to climb " + response + ".")
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-12-8 22:49:10 | 显示全部楼层    本楼为最佳答案   
go_on=True
go_on=False
不要加引号
go_on=='False'   #这里go_on是字符串,所以会一直循环
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 1 反对 0

使用道具 举报

发表于 2018-12-9 11:03:24 | 显示全部楼层
为什么要把逻辑值加上引号?
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2018-12-9 13:43:38 | 显示全部楼层
xy123151 发表于 2018-12-8 22:49
go_on=True
go_on=False
不要加引号

我没有理解好逻辑值的意义,所以以为和字符串一样,加上了双引号。
误解了
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-10-13 02:44

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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