python“每日一练”
练习题目
我的想法
累加求和,我觉得用sum(list)更好。前面后面的元素,我用了list[:k] 、list[k+1:]列表切片实现。
最初的代码,输入数列的样子实在太丑,都不敢把运行效果贴出来了。🤪🤪
后改为re提取字符数字,连输入错误拦截代码都给省下来了。数字列表输入,变成简洁的一个字符串输入了。😀😀立即上run效果:
代码运行效果
python代码
(如果从语句注释不能清楚作用,请评论区留言指教和探讨。🤝)
#/usr/bin/nve python
# coding: utf-8
#01. 求整数列表的平衡点
import re
#输入
s = input(f'\n\n输入数列正整数(任意字符间隔):\n$>>')
#re提取的数字字符列表并用int()转换成正整数
digit = [int(i) for i in re.findall(r'\d+', s)]
#input(digit) #此行代码为查看re提取并处理的正整数列表用,不删是让您明白的的调试过程
#处理
flag = 0
k = 1
for i in digit[:]:
#d1, d2 = digit[:k], digit[k+1:]
#print(d1, i, d2) #此两行为调试用代码,对程序无用,之所以不删,是可以当作代码说明
if sum(digit[:k])==sum(digit[k+1:]):
equipoise = digit[k]
flag = 1
break
k += 1
print('\n\n输出:')
if flag:
print(f'\n\n{digit}\n{"﹊"*21}\n 列表的平衡点是:第{k}位的{equipoise}')
else:
print(f'\n\n{digit}\n{"﹊"*21}\n 列表不存在平衡点。')
我的博文推荐:
推荐条件:
点阅破千
参考文章:
![老齐漫画头像](https://i-blog.csdnimg.cn/blog_migrate/8cbf2c45d8b57205b31ef4963b3b9854.jpeg)
精品文章:
来源:老齐教室