Python语言程序设计刘卫国全书源代码
第1章
例1-1python程序设计基础教程电子书  控制输出格式的转义字符的用法示例。
print("**ab*c\t*de***\ttg**\n")
print("h\nn***k")
例1-2  表达式应用实例。
x=2**10
y=pow(2,10)
z=2<<9
a=3/5
b=3//5
c=3%5
print(x,y,z)
print(a,b,c)
2
例2-5  程序如下:
x=int(input('input x:'))    #输入x的值
y=int(input('input y:'))    #输入y的值
z=int(input('input z:'))    #输入z的值
if x>y:                      #如果x>y,则xy的值互换
    x,y=y,x
if x>z:                      #如果x>z,则xz的值互换
    x,z=z,x
if y>z:                      #如果y>z,则yz的值互换
    y,z=z,y
print(x,y,z)
例2-6  程序如下:
def f(x,y):
    return x**2+y**2
print("f(3,4)=",f(3,4))
f(x,y)函数可以定义成lambda函数的形式。
f=lambda x,y:x**2+y**2
print("f(3,4)=",f(3,4))
例2-7 boxlayout程序如下:
a,b=0,1
s=0
for i in range(50):    #i0变化到49
    s+=b
    a,b=b,a+b
print("s=",s)
例2-8  程序如下:
import math
x=5+3J;                                      #x是一个复数
p(math.sqrt(math.pi)/2);
z=2*math.sin(math.radians(56))          #z的分子
z/=(s(abs(x+y)))                #求z
print("z=",z)
例2-9  程序如下:
n=int(input("n="))
a=n%10;                          #n的个位数字
b=n//10%10;                    #spring常用设计模式n的十位数字
c=n//100;                        #n的百位数字
m=a*100+b*10+c
print("{0:3}逆序数{1:3}".format(n,m))
例2-10  程序如下:
from cmath import sqrt
a=float(input('a=?'))
b=float(input('b=?'))
c=float(input('c=?'))
d=b*b-4*a*c
x1=(-b+sqrt(d))/(2*a)
x2=(-b-sqrt(d))/(2*a)
print("x1={0:.5f}, x2={1:.5f}".format(x1,x2))
例2-11  程序如下:
a=complex(input("a="))
b=complex(input("b="))
c=a+0.618*(b-a)
s=abs(a-b)
print("长度:",s)
print("黄金分割点:",c)
第3章
例3-2  程序如下:
a,b=eval(input("输入a,b:"))
if a<b:                      #若a<b,交换a和b,否则不交换
    a,b=b,a
print("{0},{1}".format(a,b))
例3-3  程序如下:
from math import *
a,b,c=eval(input("a,b,c="))
if a+b>c and a+c>b and b+c>a:
    p=(a+b+c)/2
    s=sqrt(p*(p-a)*(p-b)*(p-c))
    print("a={0},b={1},c={2}".format(a,b,c))
    print("area={}".format(s))
else:
    print("a={0},b={1},c={2}".format(a,b,c))
    print("input data error")
例3-4  程序如下:
from math import *
x=eval(input("x="))
if x<0:
    y=log(-5*x)+fabs(x)
else:
    y=sin(x)+sqrt(x+exp(2))/(2*pi)
print("x={},y={}".format(x,y))
还可以采用两个单分支结构来实现,程序如下:
from math import *
x=eval(input("x="))
if x<0:
    y=log(-5*x)+fabs(x)
if x>=0:
    y=sin(x)+sqrt(x+exp(2))/(2*pi)
print("x={},y={}".format(x,y))
例3-5  程序如下:
g=float(input("特殊符号大全复制请输入学生成绩:"))
if g<60:
    print("不及格")
elif g<70:
    print("及格")
elif g<85:
    print("良好")
else:
    print("优秀")
3-6  程序如下:
g=float(input("请输入学生成绩:"))
if g>=60:
    if g>=70:
        if g>=85:
            print("优秀")
        else:
            print("良好")
    else:
        print("及格")
else:
    print("不及格")
例3-7 
用嵌套的if结构来实现,看下面的程序:
x,y,z=eval(input("x,y,z=?"))
max=x
if z>y:
    if z>x:
        max=z
else:
    if y>x:
        max=y
print("The max is",max)
例3-8  程序如下:
import random
x=random.randint(10,99)
y=random.randint(10,99)
z=random.randint(10,99)
max=x if x>y else y
max=max if max>z else z
print("x={0},y={1},z={2}".format(x,y,z))
print("max=",max)
例3-9  程序如下:
x=eval(input())
a=x%10;                          #求个位数字
b=(x//10)%10;                  #求十位数字
c=x//100;                      #求百位数字
if x==a*a*a+b*b*b+c*c*c:
    print("{0}是水仙花数".format(x))
else:
    print("{0}不是水仙花数".format(x))
例3-10  程序如下:
hour=int(input('请输入小时:'))
minute=int(input('请输入分钟:'))
second=int(input('请输入秒:'))
second+=30
if second>=60:
    second=second-60
    minute+=1
minute+=5
if minute>=60:
    minute=minute-60
    hour+=1
if hour==24:
    hour=0
print('{0:d}:{1:d}:{2:d}'.format(hour,minute,second))
例3-11 
if嵌套的程序如下:
gh,gs=eval(input())
if gs>120:
    gz=gs*84+(gs-120)*84*0.15
else:
    if gs>60:
        gz=gs*84
    else:
        gz=gs*84-700
print("{0}号职工应发工资{1}".format(gh,gz))
例3-12  程序如下:
year=int(input("year="))
month=int(input("month="))
if month in(1,3,5,7,8,10,12):
    day=31
elif month in(4,6,9,11):
    day=30
else:
    logi=(year%4==0 and year%100!=0) or year%400==0
    day=29 if logi else 28
print(year,month,day)
第4章
例4-1  程序如下:
s=0
n=1
while n<=100:        #循环条件
    s+=n           #实现累加求和
    n+=1             #n增1
索引超出了数组界限如何解决sqlprint("1+2+3+……+9+100=",s)
例4-2  程序如下:
from math import *
i=1
x1=int(input())                            #输入一个角度
x=radians(x1)                      #将角度化为弧度
s=x
a=x
while fabs(a)>=1e-6:              #|a|≥1e-6时继续循环,否则退出循环
    i+=1
    a*=-x*x/(2*i-2)/(2*i-1)      #求累加项
    s+=a
print("x={0},sinx={1}".format(x1,s))
例4-3  程序如下:
n=int(input())
k=0
while n>0:
    k+=1
    n//=10html网站资源
print('k=',k)

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。