当前位置:网站首页>Exercise: even sum, threshold segmentation and difference (two basic questions of list object)

Exercise: even sum, threshold segmentation and difference (two basic questions of list object)

2022-04-23 17:29:00 Dream spirit_ cq


Python Official website https://www.python.org/


   here , only python the front . Unfortunately, it's the original English version . therefore , I want to practice English reading .🧐🧐


   Self study is not a mysterious thing , A person's self-study time is always longer than that in school , There are always more times when there are no teachers than when there are teachers .

            —— Hua Luogeng


note : Even sum 、 Threshold segmentation and subtraction ( list Two basic questions of the object )


  1. Even sum
  2. Threshold segmentation and subtraction
  3. Complete code

One 、 Even sum

 Insert picture description here

Code

def sum_of_evens(*evens):
    ''' Find the sum of even numbers in the input vector '''
    tem_lis = []
    for i in evens:
        if str(i).isdigit() is False:
            tem_lis.extend(list(i)) #  Cluster collection .
        else:
            tem_lis.append(i) #  Single parameter collection .
    tem = []
    for i in tem_lis:
        if i % 2 == 0: #  Remove the odd number .
            tem.append(i)
    return sum(tem) #  Return and value .

print(cut_line(), color(1, 'f_green')) #  Print split lines .
print(f"{
      '':>8} Pass it on directly , Output :{
      sum_of_evens(1, 3, 6, 9)}") #  Pass it on directly .

s = sum_of_evens #  Alias function .
print(f"\n\n{
      '':>8}list  Cluster transmission parameters , Output :{
      s([1, 9, 8, 10, 13])}") #  Cluster transmission parameters .
print(f"\n\n{
      '':>8}tuple  The ginseng , Output :{
      s((1, 9, 8, 5, 12, 10, 13))}") #  Cluster transmission parameters .
print(f"\n\n{
      '':>8}list  Mixed transmission , Output :{
      s(1, 2, [1, 8, 10, 13], 3, 8)}") #  Single 、 Cluster mixed transmission .
print(f"\n\n{
      '':>8}tuple  Mixed transmission , Output :{
      s(1, 2, (1, 8, 13), 3, 8)}") #  Single 、 Cluster mixed transmission .
print(f"{
      color(0)}{
      cut_line()}") #  Print split lines .

wait()

Running effect

 Insert picture description here


Home

Two 、 Threshold segmentation and subtraction

 Insert picture description here

Code

def difference_between_L(n, L=0):
    ''' Returns the absolute value of the difference between the sum of the new set divided by the threshold ,  If there are two threshold elements in the input set , Split with first out .'''
    tem, tem2 = [], [] #  Initialize new collection .
    flag = False #  The initial value of the partition ID is false .
    for i in n:
        if i == L:
            flag = True #  Segmentation threshold encountered , Set the division mark to true .
            print(f"\n Segmentation threshold :{
      L}")
            L = '' #  Set null character , Avoid not collecting the segmentation threshold of the second occurrence .
            continue #  End this cycle , To avoid collecting segmentation thresholds .
        if flag is True:
            tem2.append(i)
        else:
            tem.append(i)
    print(f"\n Split set :\n\n{
      tem},{
      tem2}")
    return abs(sum(tem) - sum(tem2))
            

db_L = difference_between_L #  Alias function .
n = 2, 5, 2, 6, 0, 2, 7, 6, 0, 17, 3
print(cut_line())
print(f"{
    cut_line()}{
    '':>4} Input :{
    n}\
\n\n{
    '':>16} Output :{
    color(db_L(n, 7), 'f_green')}{
    cut_line()}")

wait() 

Running effect

 Insert picture description here

 Insert picture description here


Home

complete Python Code


   My solution to the problem , Code comments have been incorporated , I won't repeat it in my blog .

( If you can't make clear the function from the statement annotation , Please leave a message in the comment area for advice and discussion .)

#!/sur/bin/env python
# coding: utf-8

''' filename: /sdcard/qpython/tem.py  The dream spirit _cq Code yard  '''

from mypythontools import color, wait, cut_line #  Load the function to be used in the required code module from the self code tool module .


def sum_of_evens(*evens):
    ''' Find the sum of even numbers in the input vector '''
    tem_lis = []
    for i in evens:
        if str(i).isdigit() is False:
            tem_lis.extend(list(i)) #  Cluster collection .
        else:
            tem_lis.append(i) #  Single parameter collection .
    tem = []
    for i in tem_lis:
        if i % 2 == 0: #  Remove the odd number .
            tem.append(i)
    return sum(tem) #  Return and value .


print(cut_line(), color(1, 'f_green')) #  Print split lines .
print(f"{
      '':>8} Pass it on directly , Output :{
      sum_of_evens(1, 3, 6, 9)}") #  Pass it on directly .

s = sum_of_evens #  Alias function .
print(f"\n\n{
      '':>8}list  Cluster transmission parameters , Output :{
      s([1, 9, 8, 10, 13])}") #  Cluster transmission parameters .
print(f"\n\n{
      '':>8}tuple  The ginseng , Output :{
      s((1, 9, 8, 5, 12, 10, 13))}") #  Cluster transmission parameters .
print(f"\n\n{
      '':>8}list  Mixed transmission , Output :{
      s(1, 2, [1, 8, 10, 13], 3, 8)}") #  Single 、 Cluster mixed transmission .
print(f"\n\n{
      '':>8}tuple  Mixed transmission , Output :{
      s(1, 2, (1, 8, 13), 3, 8)}") #  Single 、 Cluster mixed transmission .
print(f"{
      color(0)}{
      cut_line()}") #  Print split lines .

wait()


def difference_between_L(n, L=0):
    ''' Returns the absolute value of the difference between the sum of the new set divided by the threshold ,  If there are two threshold elements in the input set , Split with first out .'''
    tem, tem2 = [], [] #  Initialize new collection .
    flag = False #  The initial value of the partition ID is false .
    for i in n:
        if i == L:
            flag = True #  Segmentation threshold encountered , Set the division mark to true .
            print(f"\n Segmentation threshold :{
      L}")
            L = '' #  Set null character , Avoid not collecting the segmentation threshold of the second occurrence .
            continue #  End this cycle , To avoid collecting segmentation thresholds .
        if flag is True:
            tem2.append(i)
        else:
            tem.append(i)
    print(f"\n Split set :\n\n{
      tem},{
      tem2}")
    return abs(sum(tem) - sum(tem2))
            

db_L = difference_between_L #  Alias function .
n = 2, 5, 2, 6, 0, 2, 7, 6, 0, 17, 3
print(cut_line())
print(f"{
    cut_line()}{
    '':>4} Input :{
    n}\
\n\n{
    '':>16} Output :{
    color(db_L(n, 7), 'f_green')}{
    cut_line()}")

wait() 

Home

Last one : Chinese character extraction of packet ( character string , no need re , use in )

Next :


my HOT Bo :

Recommended conditions Click to read a thousand

Home


 Lao Qi's cartoon avatar

Excellent articles :

source : Laoqi classroom


Home

Python Getting started 【Python 3.6.3】


A good writer recommends :


CSDN Practical skills blog :


版权声明
本文为[Dream spirit_ cq]所创,转载请带上原文链接,感谢
https://yzsam.com/2022/04/202204231722007760.html