练习:求列表(整数列表)平衡点

   python“每日一练”

  1. 题目
  2. 代码运行效果
  3. 完整代码
  4. 我的博文推荐

练习题目

练习:求列表(整数列表)平衡点_第1张图片

我的想法

   累加求和,我觉得用sum(list)更好。前面后面的元素,我用了list[:k] 、list[k+1:]列表切片实现。

回首页

练习:求列表(整数列表)平衡点_第2张图片

  最初的代码,输入数列的样子实在太丑,都不敢把运行效果贴出来了。
  后改为re提取字符数字,连输入错误拦截代码都给省下来了。数字列表输入,变成简洁的一个字符串输入了。立即上run效果:

代码运行效果

练习:求列表(整数列表)平衡点_第3张图片

练习:求列表(整数列表)平衡点_第4张图片
练习:求列表(整数列表)平衡点_第5张图片

练习:求列表(整数列表)平衡点_第6张图片


回首页

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    列表不存在平衡点。')

回首页

我的博文推荐:

  • 好玩儿的“尼姆游戏”(当前阅读2558)(修正优化版)
推荐条件: 点阅破千

参考文章:


上一篇: 练习:字符串统计
下一篇: 密码强度检测器


回首页

老齐漫画头像

精品文章:

  • 通过内置对象理解python
  • Python 完全自学手册
  • 海象运算符
  • Python中的 `!=`与`is not`不同
  • 学习编程的正确方法

来源:老齐教室


你可能感兴趣的:(笔记,练习)