Python程序设计案例教程 巩固练习答案_第1页
Python程序设计案例教程 巩固练习答案_第2页
Python程序设计案例教程 巩固练习答案_第3页
Python程序设计案例教程 巩固练习答案_第4页
Python程序设计案例教程 巩固练习答案_第5页
已阅读5页,还剩37页未读 继续免费阅读

付费下载

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

Python程序设计案例教程巩固提高习题答案

一、选择题

1-6DDDDCA

二、选择题

1、J2、x3、x4>x5>x

能用作标识符的有:

A:keyB:oneCarC:一辆车E:ICooke

G:iJ:_init_K:withYouM:int2bool

不能用作标识符的有:

D:classF:forN:print0:pass这几个为保留字

I:x-yH:ThevarL:61B这几个不符合标识符命名规范

1.使用print方法分别输出整数、浮点数、复数。

print(10)#输出整数

print(0x12)

print(789.3434)#输出实数

print(3.6e4)

print(3+4j)#输出复数

2.分别使用浮点数和Decimal类型来计算0.1+0.2。

fromdecimalimportDecimal

#实数方式

a=0.1+0.2

print(a)

print(type(a))

品实数方式

b=Decimal(n0.1n)+Decimal(n0.2n)

print(b)

print(type(b))

3.查看python的浮点数信息。

importsys

print(sys・float_info)

1.使用input函数取得输入的字符串,并使用print函数打印出来。

print(input(,请输入:,))

2.编写简短的程序,打印如下内容:你的姓名、生日、以及喜欢的颜色等。格式如

T:

******************************************

你的姓名

你的生日

以及喜欢的颜色

print(1******************************************1)

print(,张一,)

print(,2001-09-27,)

print('绿色,)

print(1******************************************1)

1.'true'是布尔类型吗,为什么?

不是,True才是

2.False是布尔类型吗,为什么?

是的

3.表达式100>50结果的类型的是(A):

A.布尔型B.字符串C.数值类型D.整型

1.浮点数字面常量的写法是什么?

十进制和科学计数法

如:789.78或L8978或

2.布尔型字面常量的写法是什么?

True和False

3.整型字面常量的写法是什么?

十进制、二进制、八进制和十六进制

如:10、OblOOK0x0a2、0ol2

4.字符串常量的写法是什么?

单引号、双引号、三单或三双引起来的符号序列

1.如何定义变量?

赋值的方式即可,如a=6,定义了整型变量a

2.在Python变量是否可以不经过定义直接使用,为什么?

不能,会抛出异常

3.Python中决定了变量的类型后,变量的类型就不能改变了。这样的说法是否正确,

为什么?

说法错误,因为Pylhon作为动态类型语言,变量的类型会根据值改变

三、选择题

1-7DDCDADD

四、填空题

1、None2^type()3、id()4、3+4j、3+4J

5、96、437、1238、True9、1:2:310、True

1、输入圆柱体的半径和高,计算圆柱体的体积(底面圆面积乘以高)。

流程图:

代码实现:

r=float(input(,请输入圆柱底面圆半径:’));

h二float(input('请输入圆柱的高:’));

v=3.1415926*r*r*h;

print('圆柱体积为:,v);

运行结果:

请输入圆柱底面圆半径:2

请输入圆柱的高:3

圆柱体积为:37.699111200000004

2、已知x=l、y=2,实现x、y值的交换,即交换后x=2、y=lo

流程图:

(开始)

/输出交换

/前x、y值/

t=x

x=y

y=L

/输出交换/

/后♦y值/

Q)

代码实现:

X=1

y=2

printC交换前x=',x,',y-,y)

t=x

x=y

y=t

print('交换后x=',x,',y=',y)

运行结果:

交换前x=1,y=2

交换后x=2,y=1

3、给定一个3位整数,输出其十位、百位和个位上的数,如346,其个位为6、十位为4、

百位为3。

流程图:

代码实现:

x=int(input('请输入一个三位整数:'));

bw=x//100

print('百位数为',bw)

sw=x%100//10

printC百位数为',sw)

gw=x%10

printC百位数为',gw)

运行结果:

请输入一个三位整数:456

百位数为4

百位数为5

百位数为6

1、输入年龄age,对其判断,如果年龄为65,则输出“恭喜你,达到法定退休年龄了!”

流程图:

代码实现:

age=int(input('请输入年龄age/))

ifage-65:

print('恭喜你,达到法定退休年龄了!’)

运行结果:

请输入年龄age:65

恭喜你,达到法定退休年龄了!

2、从键盘输入6位密码,对密码进行判断,如果密码为'123456',则分别输出“密码正确!”

和“欢迎登陆该系统!”.

流程图:

代码实现:

password:input(,请输入密码:')

ifpassword==,1234561:

print('密码正确!’)

print('欢迎登陆该系统!')

运行结果:

请输入密码:123456

密码正确!

欢迎登陆该系统!

1、判断一个数是否为奇数。

流程图:

代码实现:

X=int(input('请输入一个整数:'))

ifx%2!=0:

print(x,,是奇数!')

else:

print(x,,不是奇数!')

运行结果;

请输入一个整数:8

8不是奇数!

2、某快递公司托运物品规定:重量不超过50公斤的,吒运费按每公斤0.15元计费,如超

过50公斤,超过部分每公斤加收0.1()元。编一程序完成自动计费工作。

流程图:

代码实现:

x=float(input('请输入物品的重量(公斤):'))

ifx<=50:

y=x*0.15

else:

y=x*0.15+(x-50)*0.1

print(x,'公斤的托运费用为:',y)

运行结果:

请输入物品的重量(公斤):59

59.0公斤的托运费用为:9.75

3、程序员考试分理论知识和案例分析两个科目,在一次程序员考试中,只有两个科目分数

均达到45分及以上,才算通过考试。编一程序对考生是否通过程序员考试进行自动计算。

流程图:

开始

输入kl和k2

kl>=45)&(k2>=45.

/输出通过n输出未通

/考试〃过考试,/

C结束]

代码实现:

kl=int(input('请输入理论知识成绩kl:*))

k2=int(input('请输入案例分析成绩k2:'))

ifkl>=45&k2>=45:

print('恭喜你,通过考试!’)

else:

print,遗憾,未通过考试,继续努力!’)

运行结果:

请输入理论知识成绩kl:45

请输入案例分析成绩k2:34

遗憾,未通过考试,继续努力!

1、在显示器上显示一个菜单模型,当输入数字输出其史应的文字,如输入4则输出杳询。

菜单程序的模型如下:

1存款

2取款

3转账

4杳询

5退出

请输入你需要的操作编号:

流程图:

(结束)

代码实现:

print(11存款')

print(*2取款')

print(,3转账')

print(*4查询’)

print(*5退出‘)

id二int(input('请输入你需要的操作编号:’))

ifid==l:

print(,存款')

elifid==2:

print(,取款')

elifid==3:

printC转账')

elifid==4:

printC查询')

elifid==5:

print('退出’)

else:

print('输入有误!

运行结果:

1存款

2取款

3转账

4查询

5退出

请输入你需要的操作编号:5

退出

2、根据某人的BMI值,判定其身高体重指标的等级(小于T8.5为“偏瘦”,大于•等TT8.5

且小于24为“正常”,大于等于24且小于27为“偏胖”,大于等于27且小于30为“肥

胖”,大于等于30为“重度肥胖”)

流程图:

x<18.5

代码实现:

x二float(input('请输入你需要的BMI值:'))

ifx<18.5:

printC偏瘦')

elifx<24:

print(‘正常')

elifx<27:

print(,偏胖')

elifx<30:

printC肥胖')

else:

printC重度肥胖')

运行结果:

请输入你需要的BMI值:25

偏胖

3、输入一个不多于5位的正整数,求出它是几位数,如3457为四位数。

流程图:

(开始)

输入•个不多于5位

的正整数x

/一位数//一位数//一位数//一位数//一位数"输入有误/

代码实现:

x=int(inputC输入一个不多于5位的正整数:'))

ifx<10:

print(x,,是一位数')

eiifx<100:

print(x,,是二位数')

elifx<1000:

print(x,,是三位数')

elifx<10000:

print(x,'是四位数')

elifx<100000:

print(x,'是五位数')

else:

print('输入有误!')

运行结果:

输入一个不多于5位的正整数:6754

6754是四位数

1、比较三个数大小,输由最大值。

流程图:

代码实现:

xl=int(input('请输入一个整数:'))

x2二int(input('请输入一个整数:’))

x3=int(input('请输入一个整数:'))

ifxl>x2:

ifxl>x3:

printC最大值为:',xD

else:

print('最大值为:',x3)

else:

ifx2<x3:

print('最大值为:',x3)

else:

prinlC最大值为:’,x2)

运行结果:

请输入一个整数:10

请输入,个整数:8

请输入一个整数:3

最大值为:10

2、系统登录时,提示用户输入用户名,然后再提示输入密码。如果用户名是"admin”并且密

码是“123456”则提示正确成功登录,否则如果用户名不是admin提示用户名不存在,如果

密码有误提示密码有误。

流程图:

(开始)

代码实现:

username=input('请输入用户名:')

password=input('请输入密码:')

ifusorname==,admin,:

ifpassword==,1234561:

print('正确登录成功!')

else:

printC密码有误!’)

else:

print('用户名不存在!’)

运行结果:

请输入用户名:admin

请输入密码:343434

密码有误!

1、输出50--100范围内所有的奇数

流程图:

代码实现:

i=51

whilei<100:

print(i)

i=i+2

运行结果:

51535557596163656769717375777981838587899193959799

2、输入若干非负整数,当输入T程序终止,计算出输入数据的最大值、最小值和平均

值。

流程图:

(开始)

/输入X/

sum=n=O

max=min=x

min=x

代码实现:

s=n=O

x=int(input('请输入一个非负整数:'))

max=min=x

whilex!=-l:

s=s+x

ifmax<x:

max=x

ifmin>x:

min=x

n=n+l

x=int(inpul('请输入一个非负整数:'))

ifn>0:

avg=s/n

print('最大值为:',max)

print('最小值为:min)

print('平均值为:',avg)

运行结果:

请输入一个非负整数:8

请输入一个非负整数:4

请愉入一个非负整数:2

请输入一个非负整数:-1

最大值为:8

最小值为:2

平均值为:4.666666666666667

1、设置range函数使其产生序列:97,98……122

range(97,133,1)

2、设置range函数使其产生序列:4,9,14,19,……99

range(4,100,5)

3、设置range函数使其产生序列:100,98,96……0,-2……-98,-100

range(100,-101,-2)

1、求10()以内奇数的累加和。

流程图:

代码实现:

sum=0

foriinranged,100,2):

sum=sum+i

print(,sum=,,sum)

运行结果:

sum=2500

2、等额本金为常见的一种银行贷款还款方式,假设您贷款20万元,贷款期限20年(240个

月),贷款月利率千分之0.5*,按照等额本金还款的话,每月偿还的贷款本金一样,都是20

万元/240月=833.33元,贷款利息首月则是20万元*0.5%=1000元,本息合计1833.33元。

第二个月,本金依然是833.33元,但利息则变成(20万元-833.33元)*0.05%=995,83335

元。小王近期在银行贷款80万,贷款期限为30年,月利率为0.49$,试打印出采用等额本

金还款方式的还款清单及还款总额。

流程图:

代码实现:

tolal=plus=800000

f=800000/(30*24)

r=0.0049

s=0

foriinranged,30*24+1):

repay=f+plus*r

plus=plus-f

print('第',i,'个月还款:,repay)

s=s+repay

print('总还款’,s)

运行结果:

第1个月还款5031.111111111111

第2个月还款5025.666666666666

第3个月还款5020.222222222222

……省略

第719个月还款:1121.9999999999627

第720个月还款:1116.5555555555181

总还款2213159.9999999837

1、输出1000以内能被7整除的前10个数,其中第5个数不输出。

流程图:

)

代码实现:

n=0

foriinranged,1000):

if(i%7==0):

n=n+l

ifn==5:

continue

print(i,end=')

ifn==10:

break

运行结果:

71421284249566370

2、某校在全校10000名学生中,征集公益图书捐赠,当图书总数达到5000本时就结束,统

计此时捐赠图书的人数,图书总数以及平均每人捐款的图书本数。

流程图:

(开始】

代码实现:

total=count=0

foriinranged,1001):

n=int(input('请输入募捐的本数:'))

total=total+n

count=count+l

iftotal>=5000:

break

avg=total//count

print('捐款人数为:',count)

print。共捐赠图书:「total)

print('平均每人捐赠图书数为:',avg)

运行结果:

请输入募捐的本数:40

请输入募捐的本数:506

请输入募捐的本数:789

请输入募捐的本数:1400

请输入募捐的本数:473

请输入募捐的本数:856

请输入募捐的本数:934

请输入募捐的本数:298

捐款人数为:8

共捐赠图书:5296

平均每人捐赠图书数为:662

1、打印图形

22

333

流程图:

开始

代码实现:

foriinrange(1,4):

forjinranged,i+1):

print(i,end=''.)

print()

2、求l+2!+3!+...+10!的和

流程图:

开始

—)

代码实现:

s=0

foriinranged,11):

P=1

forjinrange(1,i+1):

P=P*J

s=s+p

print(z,s=,/,s)

运行结果:

s=4037913

3、分别用单循环和双循环打印如下黑白相间的星星图形

<1)双循环

流程图:

开始

~r

代码实现:

foriinrange(lz5):

forjinrange(l,6):

pnnt('^^\end=")

Print()

(2)单循环

流程图:

I

y

代码实现:

foriinrange(lz21):

print('*☆'/end=")

ifi%5==0:

Print()

一、选择题

1-5CDCDD6-7CB

二、操作题

1、从键盘输入一个整数和一个字符,以逗号隔开,在屏幕上显示输出一条信息。

示例如下:

输入

10,@

输出

@@@@鲍幽幽10

x,c二input('请输入:').split(',')

x=int(x)

foriinranged,x+1):

print(c,end=,')

print(x,end=,')

foriinranged,x+1):

print(c,end=,')

2、编写程序,从键盘输入数值M和乂求M和N的最大公约数。

m=int(input('请输入一个非负整数:’))

Hint(input('请输入一个非负整数:'))

ifm<n:

m,n=n,m#保汇m大于n

x=m%n

while(x!=0):

m=n

n=x

x=m%n

print(n)

3、从键盘输入一个整数,转换为二进制数输出显示在屏暮上,示例如下:

输入

12

输出

转换成二进制数是:1100

x=int(input('请输入一个非负整数:'))

a-1

s=0

while(x//2!=0):#

i=x%2

ifi!=0:

s=s+i*a

a=a*10

x=x//2

ifx%2!=0:

s=s+(x%2)*a

print(s)

1、定义一个比较三个数大小的函数。

defMax(a,b):

ifa>b:

returna

else:

returnb

a=int(input(〃a=〃))

b=int(input("b="))

c=int(input(,zc=*))

dl=Max(a,b)

d2=Max(dl,c)

print(〃三者中较大的是:〃,d2)

2、分别定义函数,计算圆的面积和周长。

importmath

defCircleArea(r):

s=math.pi*r*r

returns

defSquaroArea(a):

s=a*a

returns

r=float(input(“圆的半径="))

si=Circ1e/\rea(2*r)+SquareArea(r)

s2=SquareArea(2*r)-CircleArea(r)

s3=CircleArea(r)-(2*r*2*r)/2

#正方形面积二对角线的平方除以2

print("图1阴影部分的面积=〃,si)

prinl(〃图2阴影部分的面积=〃,s2)

print(〃图3阴影部分的面积;〃,S3)

1、从键盘输入三角形三条边,利用海伦公式求该三角形的面积。

impoi'tmath

defTriangle_Area(a,b,c):

p=(a+b+c)/2

s=math,sqrt(p*(p-a)*(p-b)*(p-c))

returns

a=float(input("a="))

b=float(input("b="))

c=float(input("c="))

while1:

ifa+b>canda+c>bandb+c>a:

break

else:

print(〃该三边长不能构成三角形,请您重新输入:”)

a=float(input(wa="z))

b=float(input("b="))

c=float(inputC^c^))

print("该三角形的面积:”,Triangle_Area(a,b,c))

2、输入整数n,自定义函数,实现求和:H(H2)i(H2i3)i……1(112131……5)。

defsum(m):

s=0

forninranged,m+1):

s=s+n

returns

defsumAll(n):

s=0

forminranged,n+l):

s=s+sum(m)

returns

n=input("n=")

n=int(n)

print("总和是",sumAll(n))

1、自定义函数,求一个数的素数因素,如12,其因素:1,2,3,4,6,12,其中为素数的只有:

2,3,故12的素数因素:2,3。

defIsPrime(m):

forninrange(2,m):

ifm%n==0:

return0

return1

n=input("n=")

n=int(n)

forpinranged,n+1):

ifn%p==OandIsPrime(p)==l:

print(p)

2、自定义两个函数分别t一算:一个数的最大公约数和最小公倍数。

#最大公约数

defmaxDividor(a,b):

Min=aifa<belseb

fordinrange(Min,0,-1):

ifa%d=0andb%d=0:

returnd

#最小公倍数

defminMultiplier(a,b):

Max=aifa>belseb

fordinrange(Max.m+1,1):

ifd%a=0andd%b==O:

returnd

#主程序

a二input(〃a=")

b=input(〃b=")

a=int(a)

b=int(b)

print("最大公约数",maxDivider(a,b))

print("最小公倍数”,minMultiplier(a,b))

1、自定义函数,实现判段一个三位数是否是水仙花数,

所谓的“水仙花数”是指一个三位数其各位数字的立方和等于该数本身,

例如153是“水仙花数”,因为:153=13+53+33。

defflower(i):

foriinrange(100,1000,1):

ge=i%10

shi=i//10%10

bai=i//100

ifge**3+shi**3+bai**3=i:

print(i)

print("三位数的水仙花数如下:”)

x=int(input(〃x="))

flower(x)

2、某公司根据员工在本公司的工龄决定其可享受的年假天数;

defholidays(i):

ifi<5:

t=i

if5=<i<=10:

t=5

ifi>10:

t=7

returnt

print(“请输入你的工龄=")

x=float(input())

t=holidays(x)

print("您的年假天数是:”,t)

3、著名的歌德巴赫猜想预言,任何一个大于6的偶数都可以分解成为两个素数的和,

例如:6=3+3、8=3+5、10=5+5、12=5+7等,自定义函数验证在100之内的偶数都可以这样分

解。

defIs_Prime(n):

foriinrange(2,n):

ifn%i=0:

return0

return1

forninrange(6,101,2):

forpinrange(3,101,2):

q=n-p

ifIs_Prime(p)==1andIs_Prime(q)==l:

print(n,p,"+",q)

break

1、猴子吃桃

deff(n):

ifn==10:#第十天桃子数为一,返回一

return1

else:

return(f(n+l)+l)*2

foriinrange(10,0,-1):

print(i,"---->*.f(i))

2、斐波拉契数列

deffab(n):

ifn==1orn=2:

return1

returnfab(n-l)+fab(n-2)

print(fab(5))

1、一个数的平方

x=int(inputCx="))

f=lambdax:x**2

print(f(x))

2、两个数的乘积

x-eval(input("x="))

y=eval(input("y二”))

f=lambdax,y:x*y

print(f(x,y))

1、产生随机数,并统计次数

importrandom

deff():

alist=[]

foriinrange(0,10,1):

x=random,randint(1,100)

alist.append(x.)

print(alist)

foriinrange(0,10,1):

print(alist[i],“出现次数:",alist.count(alist[i]))

f()

myMoudule.py模块内容:

defMax(a,b):

ifa>b:

returna

else:

returnb

defMin(a,b):

ifa<b:

returna

else:

returnb

defAbs(a):

ifa>0:

returna

else:

return-a

defCircleArea(r):

s=math.pi*r*r

rctui'ns

importmath

defTriangle_Area(a,b,c):

p=(a+b+c)/2

s=math,sqrt(p*(p-a)*(p-b)*(p-c))

returns

一、选择题

DCDDDBA

二、编程题

1、

defisNum(a):

iftype(a)==intortype(a)==floatortype(a)=complex:

returnTrue

else:

returnFalse

n=input("请输入一个字符串:〃)

print(isNum(n))

2、

defcount_things(i):

num=chi=engl=eng2=other=0

k=n.count,'”)

print(〃空格的个数是{}".format(k))

foriinn:

if19968<=ord(i)<=40869:

chi+=1

elif48<=ord(i)<=57:

num+=1

elif97<=ord(i)<=122:

engl+=1

elif65<=ord(i)<=90:

eng2+=1

else:

total=chi+num+engl+eng2

other=int(len(n)-total)

print("汉字的个数是{}".format(chi))

print("数字的个数是{}format(num))

print("小写字母的个数是{}".format(engl))

print("大写字母的个数是{}〃.format(eng2))

print("其他字母的个数是{}format(other))

a二input(〃请输入一串字符:”)

countthings(a)

3、

defprime_number(x=200):

forninrange(0,x):

t=0

foriinranged,n+1):

ifn%i!=0:

continue

else:

t+=l

ift==2:

print(n,end="")

prime_number()

1、简述列表的特点和应用情景?

列表是可变的有序序列,应用存放多数据元素的情景

2^定义列表names=['lily','张三','里斯']和ages=[12,34,56],对他们进行遍

历,按如下格式输出:

lily12student

张二34worker

里斯56teacher

names=[*lily','张三,J里斯,]

ages=[12,34,56]

jobs=[*student','worker','teacher']

forname,age,jobinzip(names,ages,jobs):

print(name,age,job)

1、简述元组的特点?

元组是有序的不变序列,•旦定义不能对其元素进行改动。

2、定义元组t=(l,2,3,4,5),对它进行遍历

t=(l,2,3,4,5)

foriint:

print(i)

1、简述字典的特点?

字典用于存放具有映射关系的数据,它是可变的无序序列。

2、利用字典实现将实数数字转换为相应的中文大写数字。

defconvers(ch):

ls=list(ch)

newls=[]

d={

。:,零I

•I1:'壹I

f2«:,贰I

,3':,叁I

•4':,肆I

,5*:,伍,,

16':,陆I

7:,柒I

*8':,捌、

9:,玖I

一:,点,

)

foriinIs:

newls.appended[i])

returnnewls

foriinconvers(input「请输入一个实数,)):

print(i,end-**)

五、填空题

1、[1,2,3,1,2,3,1,2,3]

2、False

3、None

4、[6,7,9,11]

5、[5foriinrange(ID)]

6、[0,2,4]

7、有序

8、False9、keysO10、values11、\n

12、(1,2,3)13、314、115、['abc','efg']

二、读程序

1、

a,b,c

a:b:c

2、

随机生成1()位字符串(字符为小与、大写或数字)

三、写程序

importrandom

1=[random.randint(1,100)foriinrange(20)]

print(1)

1[1::2]=sorted(1[1::2],reverse=True)

print(1)

1、输出换行的字符串。

print('\n')

2、将一个字符串分别编码到gbl8030、utf-8编码格式。并解码为字符串。

s=,你好,

print(s.encode(Hutf-8").decode("utf-8"))

print(s.encode("gbl8030").decode("gbl8030"))

3、定义空字符串。

S=,'

1、用户输入一个字符串和下标,返回字符串中下标位置的字符。

s=input(,请输入字符串:')

index=int(input(1输入下标:)

print(s[index])

2、用户输入一个字符串,反向的显不字符串内容。

s=input(,请输入字符串:,)

l=list(s)

1.reverse()

s=*'.join(1)

print(s)

3、优化“例6.22”的查找子串功能。

s=input(,请输入字符串:-)

sub=input(,请输入子串:,)

ret=s.find(sub)

ifret==-l:

print('没有找到!

else:

print。子串位置为:Iret)

1、

print(************************)

print('*1、添加学生*')

print(1★★★★★★★★★★★★★★★★★★★★★★1)

print(2、查找学生

print(1***********************)

print(1*3^显示列表*')

print(************************)

print(1*4、删除学生*,)

print(1***********************)

print(1*5^退出*,)

print(************************)

2、实现上题功能,添加学生时,需要判断新学生是否在列表中:删除学生也需要判断。

#2、编写程序,生成一个包含2。个随机整数的列表,然后对其中偶数下标的元素进行降

序排列,奇数下标的元素不变。

deff():

print(************************)

print('*1>添加学生

print(

print('*2、查找学生*,)

print(************************)

print('*3、显示列表

print(

print(4、删除学生*«)

print(,★★★★★★★★★★★★★★★★★★★★★★1)

print('*5^退出*,)

print(************************)

x=int(input('输入1-5的一个整数:'))

ifx==l:

print('添力口学生’)

elifx==2:

print「查找学生,)

elifx==3:

print(,显示列表,)

elifx==4:

print('删除学生')

elifx==5:

print('退出')

f0

1、编写程序完成取得用户输入的英文字符串信息,先将信息原样输出,在将字符串中大写

转小写、小写转大写输出。

s=input(1输入英文串:,)

ns=[]

foriins:

if*a'<=i<=*z1:

ns.append(str.upper(i))

elif,A,<=i<='Z,:

ns.append(str.lower(i))

else:

ns.append(i)

print(''.join(ns))

2、输入一串以逗号(,)分割的字符串,将逗号间的信息提取出来,并输出。

s=input('输入逗号分隔的串:,)

l=s.split(',1)

foriin1:

print(i)

1、编写一个程序,要求输入名字和姓氏,然后以“名字,姓氏”的格式打印。

a=input('名字:')

b=input(,姓氏:')

s=f'{a},{b}'

print(s)

2、编写一个程序,要求输入名字,并执行以下操作:

a.把名字引在双引号中打印出来。

b.在宽度为20个字符的字段内打印名字,并且整个字段应在引号内。

c.在宽度为20个字符的字段的左端打印名字,并且整个字段引在引号内。

name=input('名字:,)

print(''*{}"'•format(name))

print(*',{0:20}.format(name))

print(*n{0:<20}"*.format(name))

3、编写一个程序,读取一个浮点数,并且首先以小数记数法,然后以指数记数法打印之。

x=input('浮点数:')

print(x)

a=x[0]

b=x[1:].replace(*.',*')

c=len(x.split('.*)[0])-1

d=a+'.'+b

y=f'{d}e{c}'

print(y)

1、编写一个程序,判断用户输入的字符串是否是一个滓点数。

importre

x=input「浮点数:,)

ret=re.match(r'A(-?\d+)(\.\d+)?$,,x)

ifret!=None:

print('是')

else:

print「不是,)

2、编写一个程序,从以下文本中提取标签之间的信息:

<a>网页连接<为》

<b>网页文字</b》

<标》段落标题</111>

importre

3=*1'

<a>网页连接</a>

<b>网页文字</b>

<hl>段落标题</hl>

I1V

ret=re.findall(r1>(.*?)<*,s)

print(ret)

1、编写一个程序,找出一段英文文本中的所有单词。

importre

s=*iamlily,

ret=re.findall(r"[a-zA-ZO-9]+",s)

print(ret)

2、编写一个程序,匹配年月日日期,日期格式2019T2-26。

importre

x=,hello2020kkl2021-10-29,

ret=re.findall(r*\d{4}-\d{l,2}-\d{l,2)1,x)

print(ret)

六、填空题

1、False2、'c:\\lest.hlm'3、'A'4、'[1,2,3]'5、'65,A'

6、'Thefirst:97,thesecondis65'

7、'65,0x41,0ol01'8、'ab:efg'9、-1

10、311、112、-113、['abc','efg'[14、T:2:3:4:5'

15、'a,b,ccc,ddd'15、'HELLOWORLD'17、'assfff'

18、'afff'19、[*3\'1'[20、None

1查看文件属性

f=open(*e://lines.txt*,*r*,encoding='utf-8')

print(f.name)#文件N

print(f.mode)#打开模式

print(f.encoding)之编码方式

print(f.closed)并拉否关闭

f.close()#关闭文件

print(f.closed)#是否关闭

2、读写文件

withopen('e:〃a.txt'w',encoding:'utf-8')asf:

f.write(*hello')#写入串

f.writelines(['hello'python'])#写入字符串列表

withopen('e:〃a.txt'r',encoding』utf-8')asf:

#print(f.read0)读所有字符

#print(f.readline())#读一行字符

print(f.read1ines())#读所仃行返网列表

1、

importcsv

heads=「学号—姓名「年龄,]

rows=[

「Oil,张三135],

「02、,里斯135],

「03、,王五145]

)

withopen('e://hello.csv','w1,newline=11)asf:

f_csv=csv.writer(f)

f_csv.writprow(heads)

f_csv.writerows(rows)

2、

importcsv

withopen(1e://hello.csv,,'r1)asf:

f_csv=csv.reader(f)

forrowinf_csv:

print(row)

1、

importjson

s=*'

(

"trans_result":{

"data1':[

(

"dst":"你好”,

“prefixWrap":0,

•'result*':[

[

0,

“你好”,

[

"0|5H

],

U,

[

n0|5u

],

[

"0|6H

]

]

]z

nsrc":"hello”

}

],

n

“from":"enz

"status'1:0,

"to1*:nzh",

"type":2,

"phonetic":[

(

•'sr^str*':"你",

ntrg_str":nnl"

},

{

nsrc_str":“好”,

"trg_strH:"hdo"

]

p=json.loads(s)

print(p['trans_result1]['data*][0]('dst*])

2、

importjson

s=[

"nameu:“张三”,

Msex":”男”,

nagen:25

},

"name":"李四”,

“sex“:“女",

"age”:36

)

]

withopen(*e://hello.json*,'w',encoding=*utf-8*)asf:

json.dump(s,f)

七、选择题

1-8CADDDBB

1、定义一个学生类,为学生类添加学号、姓名、性别、年级、课程等属性。

classstudent:

def_init_(self,id,name,sex,nj,course):

=name

self.sex=sex

self.course=course

self.id=id

self.nj=nj

defstudy(self):

print('canstudy')

deff(self):

print(,self.sex,self.age)

1、

classstudent:

definit(self,id,name,sex,nj,course):

self.name=name

self.sex=sex

self.course=course

self.id=id

self.nj=nj

defstudy(self):

print('canstudy')

deff(self):

print(self.name,self.sex,

self.id,self.nj,end=*\t*zsep='\t*)

foriinself.course:

print(i,sep='\t',end=*')

print()

if__name__=='__main__1:

stus=[]

stul-stuclentCOOl','张二\,男\,一年级'语文','数学',,英语'])

stu2=student('002'z,李四,,,男I,二年级I「语文I,数学I,英语

'])

stu3=student(,0031,王五I,男I,五年级IU语文,J数学,J英语I,信息

技术」)

stus.append(stul)

stus.append(stu2)

stus.append(stu3)

forstuinstus:

stu.f()

classprofession:

def_init_(self,icicard,name,sex,birth,phone):

self.idcard=idcard#身份证号

sel

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论