python程序设计案例教程答案(python程序设计案例教程答案陈义民)

http://www.itjxue.com  2023-02-23 09:32  来源:未知  点击次数: 

求助Python程序设计编程题!

按照题目要求编写的Python程序如下

s=input("请输入只包含字母的字符串:")

s=s.lower()

result={}

for i in s:

if i in result.keys():

result[i]+=1

else:

result[i]=1

print(result)

源代码(注意源代码的缩进)

python 编程 求答案!2、3两题

#!/usr/bin/env?python

#coding=utf-8

import?re

from?datetime?import?datetime?as?dt,?timedelta

import?platform

if?platform.python_version()[:1]?==?'2':?#判断python版本是2还是3

????import?sys

????reload(sys)

????sys.setdefaultencoding('utf8')

class?Idcard(object):

????'''?

?????m?=?Idcard('225122198611134730')

?????print(m.sex)

????男

?????m.birth

????'1986-11-13'

?????m.age

????30

????'''

????def?__init__(self,idcard):

????????self.idcard?=?idcard????????

????????if?len(idcard)?==?15:

????????????sex,?birth?=?idcard[-1:],?'19'?+?idcard[6:12]

????????elif?len(idcard)?==?18:

????????????sex,?birth?=?idcard[-2:-1],?idcard[6:14]???

????????else:

????????????raise?Exception('len(idcard)?is?{}?(15/18)'.format(len(idcard)))

????????self._sex?=?int(sex)?%?2

????????self._birth?=?birth

????

????@property

????def?sex(self):

????????return?u'男'?if?self._sex?%?2?else?u'女'

????@property

????def?age(self):??

????????now,?bir?=?dt.now(),?dt.strptime(self._birth,?'%Y%m%d')

????????beforebirth?=?(now?-?dt(now.year,?bir.month,?bir.day)).days??0

????????return?dt.now().year?-?int(self._birth[:4])?-?beforebirth

????@property

????def?birth(self):

????????return?dt.strptime(self._birth,?'%Y%m%d').strftime('%Y-%m-%d')

def?alignment(str1,?space,?align?=?'left'):

????length?=?len(str1.encode('gb2312'))

????space?=?space?-?length?if?space?=length?else?0

????if?align?==?'left':

????????str1?=?str1?+?'?'?*?space

????elif?align?==?'right':

????????str1?=?'?'*?space?+str1

????elif?align?==?'center':

????????str1?=?'?'?*?(space?//2)?+str1?+?'?'*?(space?-?space?//?2)

????return?str1

????

def?main():

????fname?=?'customer.txt'

????'''

????with?open(fname,?'w')?as?f:

????????f.write("""

????????郑文杰?225122198611134730

????????文萍?225122198912094740

????????郑妈妈??225122590303476

????????郑爸爸?225122560506471

????????""")

????'''????

????newf?=?'ourcustomers.txt'

????with?open(fname)?as?f:

????????s?=?f.readlines()

????L,?newL?=?[re.split(r'\s+',?i.strip())?for?i?in?s],?[]

????for?i?in?L:

????????if?len(i)?==?2:

????????????g?=?Idcard(i[1])

????????????newL.append('{}{}{}'.format(

????????????????alignment(i[0],?10),?alignment(g.sex,?8),?g.age))

????with?open(newf,?'w')?as?f:

????????f.write('\n'.join(newL))

????print('\n'.join(newL[:100]))

????print('Customer?data?has?been?write?into?{}'.format(newf))

if?__name__?==?'__main__':

????import?doctest

????doctest.testmod()

????main()

用Python语言设计程序,5道题,谢谢!

第一题,用input()接受用户输入,int()把输入转换成整型,if... else语句判断条件。能被2整除的是偶数,否则奇数

代码:

n = int(input())

if n % 2 == 0:

..#前面的点表示缩进。

..print("是偶数")

else:

..print("是奇数")

第二题input()、int()和嵌套if语句

代码:

n = int(input())

if n % 100 != 0:

..if n % 4 == 0:

....print("是闰年")

..else:

....print("是平年")

elif n % 400 == 0:

..print("是闰年")

else:

..print("是平年")

第三题还是一样滴,用input(),int()和if...else语句

代码:

a = int(input())

b = int(input())

if a b:

..print(a – b)

else:

..print(b – a)

第四题也是一样滴

代码:

m = int(input())

n = int(input())

if m n:

..print(m, n)

else:

..print(n, m)

第五题 (*^▽^*)

代码:

a = int(input())

if a =60:

..print("合格")

else:

..print("不合格")

Python语言程序设计(六)

1.(几何学:一个五边形的面积)编写一个程序,提示用户输入五边形顶点到中心距离r,然后算出五边形的面积,如下图所示。

计算五边形面积的公式是Area = 5×s×s/(4×tan(π/5)),这里的s是边长。边长的计算公式是 s =2rsin(π/5),这里的r是顶点到中心距离。

2.(几何学:大圆距离)大圆距离是球面上两点之间的距离。假设(x1,y1)和(x2,y2)是两点的经度和纬度,两点之间大圆距离可以利用以下公式计算:

d = radius * arccos(sin(x1) × sin(x2) × cos(x1) × cos(x2) × cos(y2-y1))

编写一个程序,提示用户输入地球表面两点经度和纬度的度数然后显示它们的大圆距离。地球的平均半径为6371.01km。注意:你需要使用math. radians函数将度数转化为弧度数,因为Python三角函数使用的是弧度。公式中的经纬度是西经和北纬。用负数表示东经和南纬。

3.(几何学:估算面积)从网站找到佐治亚州亚特兰大、佛罗里达州奥兰多、大草原佐治亚、北卡罗来纳州夏洛特的GPS位置,然后计算出这四个城市所围成的区域的大概面积。

4.(几何学:五角形的面积)五角形的面积可以使用下面的公式计算(s是边长)

Area = (5×s2)/ (4×tan(π/5))

编写一个程序,提示用户输入五边形的边长,然后显示面积。

5.(几何学:一个正多边形的面积)正多边形是边长相等的多边形吗,而且所有的角都相等。计算正多边形面积的公式是:

Area = (n × s2)/(4×tan(π/n))

这里的s是边长。编写一个程序,提示用户输入边数以及正多边形的边长,然后显示他们的面积。

6.(找出ASCII码的字符)编写一个程序,接收一个ASCII码值(一个0~127之间的整数),然后显示它对应的字符。例如:如果用户输入97,程序将显示字符a。

7.(随机字符)编写一个程序,使用time.time()函数显示一个大写的随机字符。

9.(金融应用程序:工资表)编写一个程序,读取下面的信息,然后打印一个工资报表。

雇员姓名(例如:史密斯)

一周工作时间(例如:10)

每小时酬报(例如:9.75)

联邦预扣税率(例如:20%)

州预扣税率(例如:9%)

10.(Turtle显示统一码)编写一个程序,显示希腊字母。αβγδεζηθ

11.(反向数字)编写一个程序,提示用户输入一个四位整数,然后显示颠倒各位数字后的数。

全国计算机等级考试二级教程2019年版——Python语言程序设计(参考答案)

答案:C B B C A D B A D B

1.获得用户输入的一个整数N,计算并输出N的32次方。

2.获得用户输入的一段文字,将这段文字进行垂直输出。

3.获得用户输入的一个合法算式,例如1.2+3.4,输出运算结果。

4.获得用户输入的一个小数,提取并输出其整数部分。

5.获得用户输入的一个整数N,计算并输出1到N相加的和。

答案:C A A A B A C D A C

1.获得用户输入的一个整数,输出该整数百位及以上的数字。

2.获得用户输入的一个字符串,将字符串按照空格分割,然后逐行打印出来。

3.程序读入一个表示星期几的数字(1-7),输出对应的星期字符串名称。例如,输入3,返回“星期三”。

4.设n是一任意自然数,如果n的各位数字反向排列所得自然数与n相等,则n被称为回文数。从键盘输入一个5位数字,请编写程序判断这个数字是不是回文数。

5.输入一个十进制整数,分别输出其二进制、八进制、十六进制字符串。

答案:B A D C D D C A C D

1.输入一个年份,输出是否是闰年。#闰年条件:能被4整除但不能被100整除,或者能被400整除的年份,都是闰年。

2.最大公约数计算。获得两个整数,求出这两个整数的最大公约数和最小公倍数。最大公约数的计算一般使用辗转相除法,最小公倍数则使用两个数的乘积除以最大公约数。

3.统计不同字符个数。用户从键盘键入一行字符,编写一个程序,统计并输出其中英文字符、数字、空格和其他字符的个数。

4.改编题目1中的程序,当用户输入出错时给出“输入内容必须是整数!”的提示,并让用户重新输入。

5.羊车门问题。有三扇关闭的门,一扇门后面停着汽车,其余门后是山羊,只有主持人知道每扇门后面是什么。参赛者可以选择一扇门。在开启它之前,主持人会开启另外一扇门,露出门后的山羊。此时,允许参赛者更换自己的选择。请问,参赛者更换选择后能否增加猜中汽车的机会?——这是一个经典问题。请使用random库对这个随机事件进行预测,分别输出参赛者改变选择和坚持选择获胜的概率。

答案:B B B B A D D A D D

Tips:

2.字典类型的key只能是不可变数据类型;

3.Python中以下情况判断为False:

(1)None–None值

(2)False–False值

(3)0 --- 数值零不管它是int,float还是complex类型

(4)‘’,(),[] --- 任何一个空的序列

(5){} --- 空的集合。

9.列表类型的pop(i)方法,如果不指定参数 i,则默认取出并删除列表中最后一个元素

1.英文字符频率统计。编写一个程序,对给定字符串中出现的a~z字母频率进行分析,忽略大小写,采用降序方式输出。

2.中文字符频率统计。编写一个程序,对给定字符串中出现的全部字符(含中文字符)频率进行分析,采用降序方式输出。

3.随机密码生成。编写程序,在26个字母大小写和9个数字组成的列表中随机生成10个8位密码。

4.重复元素判定。编写一个函数,接受列表作为参数,如果一个元素在列表中出现了不止一次,则返回True,但不要改变原来列表的值。同时编写调用这个函数和输出测试结果的程序。

5.重复元素判定续。利用集合的无重复性改编上一个程序,获得一个更快更简洁的版本。

(责任编辑:IT教学网)

更多

推荐安全产品文章