使用for循环实现指定倍数输出功能遇阻,请求技术支持
搞定你的数字输出问题!
嘿,我来帮你解决这个for循环的小难题!看你试了好几次没得到正确结果,应该是在sep参数的用法或者循环逻辑上有点卡壳对吧?
下面直接给你符合要求的代码,还有详细解释,保证一看就懂:
方式一:用for循环实现(完全贴合你的需求)
# 获取用户输入的数字,转成整数类型 x = int(input("请输入一个数字:")) # 先创建一个空列表,用来存x到5x的结果 output_numbers = [] for i in range(1, 6): # 循环1到5,对应1x到5x output_numbers.append(x * i) # 用print的sep参数指定分隔符,*用来解包列表里的元素 print(*output_numbers, sep="---")
方式二:更简洁的列表推导式(本质也是循环,代码更短)
如果觉得上面的循环写起来有点啰嗦,也可以用列表推导式一步生成要输出的数字,代码更紧凑:
x = int(input("请输入一个数字:")) print(*[x * i for i in range(1, 6)], sep="---")
关键知识点解释
range(1,6)会生成1、2、3、4、5这几个数,正好对应我们需要的1倍到5倍的乘数。*output_numbers是把列表里的每个数字单独作为print()的参数,这样sep参数才能生效,把每两个参数之间用---分隔开。sep="---"就是告诉print(),输出多个参数的时候,用三个短横线来分隔它们,完全符合你要的示例效果!
测试一下,当你输入7的时候,就会输出7---14---21---28---35,和示例一模一样~
内容的提问来源于stack exchange,提问作者Vicky Kumar
相关产品推荐
相关产品推荐

