Python新手求助:编写重复x生成指定长度y字符串的函数报错问题
错误点分析
- 你在代码中将参数
y错误写为带单引号的'y',此时它是固定字符串,而非你传入的整数参数。len('y')的结果恒为1,代入你给出的调用参数repeat_int_length(10,4)时,len('y') * x计算结果为1*10=10,转字符串后返回值就是"10",这是你得到错误输出的直接原因。 - 整体逻辑完全不符合需求:你需要的是先把整数
x转为字符串,再重复拼接该字符串,最终得到总长度为y的结果,和len、参数y的数值乘法没有关系。
正确实现
def repeat_int_length(x, y): x_str = str(x) # 计算重复次数,截取前y位兼容总长度不是x字符串长度整数倍的场景 repeat_count = y // len(x_str) + 1 return (x_str * repeat_count)[:y] # 测试调用 print(repeat_int_length(10, 4)) # 输出:1010
内容的提问来源于stack exchange,提问作者new_compsc_student
相关产品推荐
相关产品推荐

