<SYSTEM_TASK:>
Given the following text description, write Python code to implement the functionality described below step by step
<END_TASK>
<USER_TASK:>
Description:
 将前面几章用while循环的习题，用for循环实现，并尽量写成函数......
以前的：
    chapter1-task2：
    练习2：仿照实践1，写出由用户指定整数个数，并由用户输入多个整数，并求和的代码。
Step1:  以前的：
    chapter2-task4：
    练习 1：仿照求$ \sum_{i=1}^mi + \sum_{i=1}^ni  + \sum_{i=1}^ki$的完整代码，写程序，可求m!+n!+k!
Step2:  以前的：
    chapter2-task4：
    练习 2：写函数可返回1 - 1/3 + 1/5 - 1/7...的前n项的和。在主程序中，分别令n=1000及100000，打印4倍该函数的和。
Step3:  以前的：
    chapter2-task4：
    挑战性练习：写程序，可以求从整数m到整数n累加的和，间隔为k，求和部分需用函数实现，主程序中由用户输入m，n，k调用函数验证正确性。
Step4:  以前的：
    chapter2-task5：
    练习 1：求n个随机整数均值的平方根，整数范围在m与k之间。
Step5:  以前的：
    chapter2-task5：
    练习 2：共n个随机整数，整数范围在m与k之间，求西格玛log(随机整数)及西格玛1/log(随机整数)
Step6:  以前的：
    chapter2-task5：
    练习 3：写函数，求s=a+aa+aaa+aaaa+aa...a的值，其中a是[1,9]之间的随机整数。
    例如2+22+222+2222+22222(此时共有5个数相加)，几个数相加由键盘输入。
Step7:  6.8 习题
Step8:  6.8 习题
Step9:  6.8 习题
Step10:  6.8 习题
Step11:  6.8 习题
<ASSISTANT_TASK:>
Python Code:
def compute_sum(n):
    total = 0
    for i in range(n):
        m = int(input('请输入一个正整数为加数，以回车结束。   '))
        total += m
    return total
    
n = int(input('请输入一个正整数为次数，以回车结束。   '))
print ('total=',compute_sum(n))
Explanation: 将前面几章用while循环的习题，用for循环实现，并尽量写成函数......
以前的：
    chapter1-task2：
    练习2：仿照实践1，写出由用户指定整数个数，并由用户输入多个整数，并求和的代码。
End of explanation
def computer_sum(num):
    total = 1
    for i in range(1,num+1):
        total *= i
    return total
m = int(input('请输入第一个整数，回车结束  '))
n = int(input('请输入第二个整数，回车结束  '))
k = int(input('请输入第三个整数，回车结束  '))
print ('tatol =',computer_sum(m)+computer_sum(n)+computer_sum(k))
Explanation: 以前的：
    chapter2-task4：
    练习 1：仿照求$ \sum_{i=1}^mi + \sum_{i=1}^ni  + \sum_{i=1}^ki$的完整代码，写程序，可求m!+n!+k!
End of explanation
def computer_add(num):
    total = 0
    for i in range(num):
        j = 2*i + 1
        if (i+1)%2 != 0:
            total += 1/j
        else:
            total -= 1/j
    return total
m = int(input('请输入第一个整数，回车结束  '))
print ('4倍的和：tatol1 =',4*computer_add(m))
n = int(input('请输入第二个整数，回车结束  '))
print ('4倍的和：tatol2 =',4*computer_add(n))
Explanation: 以前的：
    chapter2-task4：
    练习 2：写函数可返回1 - 1/3 + 1/5 - 1/7...的前n项的和。在主程序中，分别令n=1000及100000，打印4倍该函数的和。
End of explanation
def computer_sum(m,n,k):
    for i in range(m,n):
        i += k
    return i
m = int(input('请输入第一个整数即m，回车结束  '))
n = int(input('请输入第二个整数即n，回车结束  '))
k = int(input('请输入第三个整数即k，回车结束  '))
print ('tatol =',computer_sum(m,n,k))
Explanation: 以前的：
    chapter2-task4：
    挑战性练习：写程序，可以求从整数m到整数n累加的和，间隔为k，求和部分需用函数实现，主程序中由用户输入m，n，k调用函数验证正确性。
End of explanation
import random,math
def compute_sqrt(n,m,k,total,avg):
    for i in range(1,n):
        num = random.randint(m,k)
        print ('num',i,': ',num,sep='')
        total += num
        avg = total/2
        sqr = math.sqrt(avg)
    return sqr
        
m = int(input('please input a smaller number     '))
k = int(input('please input a bigger number      '))
n = int(input('please input a  number for times  '))
total = 0
avg = 0
num = random.randint(m,k)
print ('num0:',num)
total += num
print (n,'个随机整数均值的平方根等于:',compute_sqrt(n,m,k,total,avg))
Explanation: 以前的：
    chapter2-task5：
    练习 1：求n个随机整数均值的平方根，整数范围在m与k之间。
End of explanation
import random,math
def compute_sqrt(n,m,k):
    total1 = 0
    total2 = 0
    for i in range(n):
        num = random.randint(m,k)
        print ('num',i,': ',num,sep='')
        num1 = math.log(num)
        num2 = 1/math.log(num)
        total1 += num1
        total2 += num2
        i += 1
    print ('西格玛log总和为:',total1,'\n西格玛1/log总和为:',total2)
    return
    
m = int(input('please input a smaller number     '))
k = int(input('please input a bigger number      '))
n = int(input('please input a  number for times  '))
compute_sqrt(n,m,k)
Explanation: 以前的：
    chapter2-task5：
    练习 2：共n个随机整数，整数范围在m与k之间，求西格玛log(随机整数)及西格玛1/log(随机整数)
End of explanation
import random,math
def compute(n,a):
    b = a
    total = a
    for i in range(n-1):
        b = b*10+a   
        total += b
    print ('total:',total)
    return
a = random.randint(1,9)
print ('a:',a)
n = int(input('please input a  number for times  '))
print ('n:',n)
compute(n,a)
Explanation: 以前的：
    chapter2-task5：
    练习 3：写函数，求s=a+aa+aaa+aaaa+aa...a的值，其中a是[1,9]之间的随机整数。
    例如2+22+222+2222+22222(此时共有5个数相加)，几个数相加由键盘输入。
End of explanation
def compute_sum(numbers):
    numTotal = 0
    for num in numbers:
        numTotal += num
    print ('numTotal:',numTotal)
    
numbers = [i for i in range(1,10)]
compute_sum(numbers)
Explanation: 6.8 习题: 写函数，返回一个list中所有数字的和
End of explanation
def compute_min(numbers):
    min = numbers[0]
    for num in numbers:
        if num < min:
            min = num
    print ('Min:',min)
    return
    
numbers = [i for i in range(1,10)]
compute_min(numbers)
Explanation: 6.8 习题: 写函数，返回一个list中的最小值
End of explanation
def compute_pos(numbers):
    n = int(input('please input a number:  '))
    num = 0
    for i in range(len(numbers)):
        if numbers[i] == n :
            print ('pos:',i+1)
            break
        num += 1
    if num >= len(numbers):
        print ('pos:',-1)
            
numbers = [i for i in range(1,10)]
print (numbers)
compute_pos(numbers)
Explanation: 6.8 习题: 写函数，返回某个元素/对象在一个list中的位置，如果不在，则返回-1.
End of explanation
def compute_cos():
    vector_frt = []
    vector_sec = []
    for i in range(2):
        print ('请输入第',i+1,'个向量的坐标')
        x = int(input('请输入x坐标： ')) 
        y = int(input('请输入y坐标： '))
        if i == 0:
            vector_frt.append(x)
            vector_frt.append(y)
        else:
            vector_sec.append(x)
            vector_sec.append(y)
    print ('vector1: [',vector_frt[0],',',vector_frt[1],']',sep = '')
    print ('vector2: [',vector_sec[0],',',vector_sec[1],']',sep = '')
    vect_a = math.sqrt(vector_frt[0]*vector_frt[0] + vector_frt[1]*vector_frt[1])
    vect_b = math.sqrt(vector_sec[0]*vector_sec[0] + vector_sec[1]*vector_sec[1])
    vect_ab = vector_frt[0]*vector_sec[0] + vector_frt[1]*vector_sec[1]
    vect_cos = vect_ab/(vect_a*vect_b)
    print ('两个向量的夹角余弦值为：',vect_cos)
    
compute_cos()
Explanation: 6.8 习题: 写函数，可求两个向量的夹角余弦值，向量可放在list中。主程序调用该函数。
End of explanation
def compute_counts():  
    num = 0
    for i in range(5,100):
        for j in range(5,100):
            for k in range(5,100):
                if i+j+k == 100:
                    num += 1
                    #print (i,j,k,sep = '--')
    print ('total:',num)
compute_counts()
Explanation: 6.8 习题: 挑战性习题：python语言老师为了激励学生学python，自费买了100个完全相同的Macbook Pro，分给三个班级，每个班级至少分5个，用穷举法计算共有多少种分法？
End of explanation
<END_TASK>