《 编程导论——以Python为舟》第一章源代码

第一章源代码

#<程序:Hello World>
print("Hello world!")
##################################################################
#<程序:变量输出实例>
a = 1        #第一次给a赋值
a = 2		   #第二次给a赋值
print(a)     #输出2
a = "Hello!" #第三次给a赋值
print(a)     #输出Hello!
##################################################################
#<程序:加法运算实例>
a = 999998888877777666665555544444333332222211111
b = 123456789098765432101234567890987654321012345
sum = a + b
print(sum) 
###############################################################################
#<程序:乘法运算实例>
a = 999998888877777666665555544444333332222211111
b = 123456789098765432101234567890987654321012345
product = a * b
print(product)    
###############################################################################
#<程序:求平均成绩实例>
grade1 = 90    #第一门成绩
grade2 = 89    #第二门成绩
sum = grade1 + grade2    #两门成绩总和
average = sum / 2        #两门成绩平均数
print(“average =,average)   #输出结果为:average = 89.5
###############################################################################
#<程序:除法运算实例>
a = 8; b = 2;c = a/b
print(c)            #输出结果为:4.0
###############################################################################
#<程序:春游坐车问题1>
student = 70; seat = 30                  #学生数和每辆大巴容量
num = student // seat + 1
print("We need at least ",num," buses")  #输出为:We need at least  3  buses
###############################################################################
#<程序:春游坐车问题2>
student = 70; seat = 30			         #学生数和每辆大巴容量
num = student // seat
if student % seat == 0:
    print("We need at least ",num," buses")
else:print("We need at least ",num+1," buses")#输出为:We need at least  3  buses
###############################################################################
#<程序:春游坐车问题3>
student = 70; seat = 30
num = student // seat
r = student % seat
if r != 0:         #如果在学生坐满大巴后还有一些学生
   num = num + 1
ave = student // num
if r == 0:         #如果学生恰好能将大巴都坐满
    print(num,"buses. Each has ",ave," students.")
else:
    lastbus = student-(num-1)*ave
    print(num,"buses. One bus has ",last bus," students.")
    print("Each of other buses has ",ave," students.")
###############################################################################
#<程序:求二维线性方程组示例1>
a0 = 2; b0 = 1; c0 = 4
a1 = 3; b1 = -2; c1 = -1     #方程组系数
a2 = a0 * a1; b2 = b0 * a1;c2 = c0 * a1  #等式1两边同时扩大a1倍
a3 = a1 * a0; b3 = b1 * a0;c3 = c1 * a0  #等式2两边同时扩大a0倍
a = a2 - a3; b = b2 - b3; c = c2 - c3    #等式1减等式2
#改进的if条件语句会加在此处
y = c / b
x = (c0 - b0 * y)/a0
print("x =",x, "  y =",y)
###############################################################################
#<程序:求二维线性方程组例子2>
#前面程序省略不写,可以参考前例
    if ((b == 0) and (c == 0)):
        print("Infinite Solution!")   
    elif (b == 0 ):  print("No Solution!")
    else:
        y = c / b
        x = (c0 - b0 * y)/a0
        print("x = %.5f, y = %.5f"%(x,y))
###############################################################################
#<程序:布尔类型例子>
b = 100<101
print(b)
###############################################################################
#<程序:序列索引>
L=[1,1.3,"2","China",["I","am","another","list"]]
print(L[0]+L[1])
###############################################################################
#<程序:列表append方法>
L = [1,1.3,"2","China",["I","am","another","list"]]
L.append(3)
print(L)
###############################################################################
#<程序:删除序列元素>
L = [1,1.3,"2","China",["I","am","another","list"]]
L.remove(1)
print(L)
#L.remove(3)   #报错
###############################################################################
#<程序:判断元素在不在序列中>
L = [1,1.3,"2","China",["I","am","another","list"]]
print("China" in L)       #输出为True
print("I" in L)			#输出为False
###############################################################################
#<程序:解二维线性方程组3>
#求解2x+y=4,3x-2y=-1
A = [[2,1],[3,-2]];B = [4,-1]
if A[0][0]==0:
    y = B[0]/A[0][1];x = (B[1]-A[1][1]*y)/A[1][0]
elif A[1][0]==0:
    y = B[1]/A[1][1];x = (B[0]-A[0][1]*y)/A[0][0]
else:
    b = A[0][1]*A[1][0]-A[1][1]*A[0][0] #b为相减之后y的系数
    c = B[0]*A[1][0]-B[1]*A[0][0]       #c为相减之后等号右边的常数项
    if ((b == 0) and (c == 0)): print("Infinite Solution!")   
    elif (b == 0 ): print("No Solution!")
    y = c/b; x = (B[0]-A[0][1]*y)/A[0][0]
print("x = ",x,"y = ",y)
###############################################################################
#<程序:if语句示例>
a=10; b=11
if a<b: print("a)   #输出结果为:a
###############################################################################
#<程序:if-else语句示例>
a=11; b=10
if a<b: print("a)
else: print("a>=b")   #输出结果为:a>=b
###############################################################################
#<程序:if-elif-else例子>
a = 34;b = 271;c = 88
if a>b:
    if a>c:
        print("The max number is:",a)
    else:
        print("The max number is:",c)
elif b>c:
    print("The max number is:",b)
else:
    print("The max number is:",c)
###############################################################################
#<程序:成绩等级if运用示例>
s = 78
if s > 100 or s<0: print('The score is error!')
elif s >= 90: print('The score is 优秀')
elif s >= 60: print('The score is 及格')
else: print('The score is 不及格')
###############################################################################
#<程序:成绩奖励与惩罚if例子(有缺陷)>
p = 85;q = 95
if p >= 80:print('红心')
elif q >= 90:print('巧克力')
else: print('家长签名')
###############################################################################
#<程序:成绩奖励与惩罚if例子2>
p = 85;q = 95
if p >= 80 and q >= 90:print('红心 巧克力')
elif p >= 80:print('红心')
elif q >= 90:print('巧克力')
else: print('家长签名')
###############################################################################
#<程序:for循环例子>
for i in range(1, 6):
    print(i)
###############################################################################
#<程序:break例子1>
L = [3,7,-2,4,5]
for i in L:
    if i <= 0: print("Not all positive!");break
else: print("All positive!")
###############################################################################
#<程序:break例子2>
L = [3,7,-2,4,5];flag = True
for i in L:
    if i <= 0: flag = False; break
if flag: print("All positive!")
else: print("Not all positive!")
###############################################################################
#<程序:continue例子>
L = [3,7,-2,4,5]
for i in L:
    if i <= 0: continue
    print(i)
###############################################################################
#<程序:for循环例子1>
k=10
for i in range(0,k):    #也可写成range(k)
    for j in range(1,6):
        print(j,end='')
    print('\n') 
###############################################################################
#<程序:for循环例子2>
n = 15; k = 10
for i in range(0,k):
    for j in range(1,n+1):
        print(j,end='')
    print('\n')
###############################################################################
#<程序:for循环例子3>
n = 15
for i in range(0,n):
    for j in range(1,i+2):
        print(j,end='')
    print('\n')
###############################################################################
#<程序:for循环求平均数例子>
L = [12,32,45,78,22]
sum = 0
for e in L:				# for i in range(len(L)):	
    sum = sum + e			# sum = sum + L[i]
ave = sum/len(L)
print("The average is ",ave)
###############################################################################
#<程序:for循环列表分组例子>
L = [4,2,-11,3,1,5]
a = L[0];L1 = []; L2 = []
for i in range(1,len(L)):
    if L[i]>a:
        L2.append(L[i])
    else: L1.append(L[i])
print("The list is ",L1+[a]+L2)
###############################################################################
#<程序:for循环字串“1”个数奇偶性例子>
S = "21314151116"
num = 0
for i in range(len(S)):
    if S[i] == '1':
        num = num +1
if num%2 == 0:
    print("The number of '1' in S is even number")
else: print("The number of '1' in S is odd number")
###############################################################################
#<程序:for循环多项式展开例子>
n = 10; L = [1,1]
for i in range(1,n):
    L0 = [0] + L; L = L + [0]
    for j in range(len(L)):
        L[j] = L[j] + L0[j]
print(L)
###############################################################################
#<程序:while循环例子1>
i = 1
while i <= 5:
    print(i)
    i=i+1
###############################################################################
#<程序:判一个数是否为质数>
num = 7;a = num//2
while a>1:
	if num % a==0:
		print('num is not prime');break
	a = a - 1
else:    #没有执行break,则执行else
	print('num is prime')
###############################################################################
#<程序:while循环例子2>
i = 1
while True:
    print(i,'printing')
    i=i+1
###############################################################################
#<程序:while循环例子3>
x=10
while True:
    if(x<=0): break
    print(2*x,end=' ')
    x=x-1
###############################################################################

你可能感兴趣的:(《 编程导论——以Python为舟》第一章源代码)