In [8]:
#将前面几章用while循环的习题,用for循环实现,并尽量写成函数。
#第二次作业中 1:
n=int(input('请输入一个整数,以回车结束'))
i=0
total=0
for i in range(n):
i=i+1
total=total+i
print(total)
#2
n=int(input('请输入整数的个数:'))
i=0
total=0
for i in range(n):
i=i+1
m=int(input())
total=total+m
print('输入整数的和是:',total)
#3
n=0
sum=0
mult=1
for n in range(1):
m=int(input('请输入任意的整数'))
sum=sum+m
mult=mult*m
if sum < m and mult < m**2:
break;
print('the end')
#3.29作业中
def compute_sum(end):
i=0
total_n=0
for i in range(end):
i+=1
total_m=((-1)**(i+1))/(2*i+1)
total_n=total_n+total_m
return total_n
a=4*compute_sum(1000)
b=4*compute_sum(100000)
print('当n=1000时,4倍该函数的和为:',a)
print('当n=100000时,4倍该函数的和为:',b)
In [22]:
#写函数,返回某个元素/对象在一个list中的位置,如果不在,则返回-1.
def number_place(n):
for i in range(k):
if n==numbers[i]:
m=i+1
else:
m=-1
print(m)
numbers=[1,2,3,4,5,6,7,8,9]
k=len(numbers)
n=int(input('请输入一个整数:'))
p=0
number_place(n)
In [9]:
## 写函数,返回一个list中的最小值
def number_min(end):
min=numbers[0]
for i in range(n):
if min>numbers[i]:
min=numbers[i]
return min
numbers=[]
n = int(input('请输入一个整数,表示将要输入的整数个数,回车结束。'))
for i in range(n):
number=int(input())
numbers.append(number)
number_min(numbers)
Out[9]:
In [7]:
#写函数,返回一个list中所有数字的和
def number_sum(end):
total=0
for i in range(n):
total=total+numbers[i]
return total
numbers=[]
total=0
n = int(input('请输入一个整数,表示将要输入的整数个数,回车结束:'))
for i in range(n):
numbers.append(int(input()))
print(number_sum(numbers))
In [2]:
#写函数,可求两个向量的夹角余弦值,向量可放在list中。主程序调用该函数。
import math
def number_cosz(x,y):
b=0
b1=0
a1=0
a=1
b=1
for i in range(n):
a=x[i]*a
b=y[i]*b
a0=x[i]**2
b0=y[i]**2
a1=a1+a0
b1=b1+b0
k=b+a
cos=k/(math.sqrt(a1*b1))
return cos
x=[]
y=[]
n=int(input('请输入两向量的维数(2 or 3):'))
for i in range(n):
x.append(int(input('请输入向量x的坐标:')))
for i in range(n):
y.append(int(input('请输入向量y的坐标:')))
number_cosz(x,y)
Out[2]:
In [16]:
#挑战性习题:python语言老师为了激励学生学python,自费买了100个完全相同的
#Macbook Pro,分给三个班级,每个班级至少分5个,用穷举法计算共有多少种分法?
n=0
for i in range(5,91):
for j in range(5,91):
for k in range(5,91):
if i+j+k==100:
n=n+1
print(n)