如何实现带变量参数的返回列表函数?排查序列列表无法输出问题
问题解决
你的代码存在两个关键问题,导致无法输出生成的序列:
未调用生成序列的函数
你定义了number_sequence函数来生成序列,但输入完成后完全没调用这个函数,自然看不到结果。输入验证提示不清晰
当前输入非数字时只打印False,用户无法明确知道需要重新输入有效的数值。
另外原函数的判断逻辑有漏洞:原代码里用j <= maxVal判断是否添加新元素,但j是当前值,生成的i可能已经超过maxVal,应该判断新生成的i是否符合条件,否则会把超过最大值的元素也加入序列。
修正后的完整代码如下:
import math while True: startVal = input('Enter the starting value: ') maxVal = input('Enter the maximum value: ') try: startVal = float(startVal) maxVal = float(maxVal) break except ValueError: print('请输入有效的数字') def number_sequence(startVal, maxVal): j = startVal sequence = [startVal] while j <= maxVal: i = math.sqrt((j + 4) ** 3) + 5.125936194710044 i = round(i, 3) if i <= maxVal: sequence.append(i) j = i return sequence # 调用函数并打印生成的序列 generated_sequence = number_sequence(startVal, maxVal) print('生成的序列:', generated_sequence)
内容的提问来源于stack exchange,提问作者inversedawn
相关产品推荐
相关产品推荐

