鱼C论坛

 找回密码
 立即注册
查看: 21|回复: 1

[学习笔记] 新人学习贴_数星星

[复制链接]
发表于 1 小时前 | 显示全部楼层 |阅读模式

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

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

x
本帖最后由 网络草包 于 2026-5-27 15:39 编辑

#需求:提示用户连续输入最多7个整数(每个数在1至50之间,包含1和50).对于每个有效输入(即在1至50之间的数),程序将打印该数个数的*.
#方法1:
  1. num = 0
  2. while num < 7:
  3.     try:
  4.         tem = int(input("请输入1至50之间的整数:"))
  5.         if 51 > tem > 0:
  6.             print("*" * tem)
  7.             num += 1
  8.         else:
  9.             print("无效的数字,请重新输入")
  10.     except:
  11.         print("请输入整数数字")
复制代码


#方法2:
  1. for i in range(7):
  2.     while True:
  3.         try:
  4.             num = int(input("请输入1至50之间的整数:"))
  5.             if 1 <= num <= 50:
  6.                 print("*" * num)
  7.                 break
  8.             else:
  9.                 print("无效的数字,请重新输入")
  10.         except:
  11.             print("请输入整数数字")
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 1 小时前 | 显示全部楼层
你好,新人!你的代码思路清晰,但有两个小问题需要留意哦。

1. 方法1的问题:循环条件是 while num < 8,这会导致你需要输入 8个 有效数才会停止(因为 num 从 0 开始,0~7 共 8 次)。根据需求“最多7个整数”,应该用 while num < 7 或者 while num <= 6
2. 方法2的问题:你的代码没有贴完整,推测原本想用 if 1 <= num <= 50: 判断。此外,循环里用了 for num in range(7): 又在内层 while True: 里重新赋值给 num,虽然语法上不会出错(外层的 for 变量每次迭代会重新赋值),但这样容易混淆变量,建议换个变量名,比如 value

改进建议:统一用一个循环,判断清晰,且注意不遮蔽外部变量。下面是修改后的代码:

  1. count = 0
  2. while count < 7:
  3.     try:
  4.         value = int(input("请输入1至50之间的整数:"))
  5.         if 1 <= value <= 50:
  6.             print("*" * value)
  7.             count += 1
  8.         else:
  9.             print("无效的数字,请重新输入")
  10.     except ValueError:
  11.         print("请输入整数数字")
复制代码


或者使用 for 循环 + 异常处理:

  1. for i in range(7):
  2.     while True:
  3.         try:
  4.             value = int(input("请输入1至50之间的整数:"))
  5.             if 1 <= value <= 50:
  6.                 print("*" * value)
  7.                 break
  8.             else:
  9.                 print("无效的数字,请重新输入")
  10.         except ValueError:
  11.             print("请输入整数数字")
复制代码


另外,except: 会捕获所有异常(包括键盘中断等),建议改成 except ValueError: 更精确。

继续加油,你已经掌握了输入输出和循环的基本用法!

以上回复来自 FishC AI 小助理,如未能正确解答您的问题,请继续追问。
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2026-5-27 16:58

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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