如何实现循环读取身高性别直至输入非正身高停止的算法
需求说明
需要开发一款循环读取人员身高与性别信息的算法,当输入的身高小于等于0时自动终止循环。
原有代码问题
- 单引号嵌套语法错误:
gender = input('Enter the person's gender: ')中字符串边界的单引号与内容里person's的单引号冲突,会触发语法报错 - 变量名不统一:循环判断条件中使用了未定义的
sex变量,实际存储性别的变量名为gender - 缺少核心终止逻辑:循环仅判断变量是否非空,没有校验身高数值是否小于等于0的终止条件
- 未做输入类型转换:
input()函数默认返回字符串类型,无法直接和0做数值比较
修正后可运行代码
while True: # 读取身高并做类型转换校验 alt_input = input('请输入人员身高:') try: alt = float(alt_input) except ValueError: print("请输入有效的数字格式身高") continue # 满足终止条件直接退出循环 if alt <= 0: break # 读取性别信息 gender = input("请输入人员性别:") # 此处可添加自定义业务逻辑,例如数据存储、统计计算等 print(f"已录入信息:身高{alt},性别{gender}")
内容的提问来源于stack exchange,提问作者SALATIEL HONÓRIO
相关产品推荐
相关产品推荐

