python经典编程100例及答案(python编程300例怎么样)
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编程例子有哪些?
python编程经典例子:
1、画爱心表白、图形都是由一系列的点(X,Y)构成的曲线,由于X,Y满足一定的关系,所以就可以建立模型,建立表达式expression,当满足时,两个for循环(for X in range;for Y in range)就会每行每列的打印。
2、快递查询工具、此Python小项目需要用到json与requests两个库,还需调用API。
3、用python编程完成图像识别、鼠标模拟,需要调用OpenCV框兄前架。
扩展资料:
Python的设计目标之一是让代码具备高度的可阅读性。它设计时尽量使用其它语言经常使用的标点符号和英文单字,让代码看起来整洁美观。它不像其他的静态语言如C、Pascal那样需要重复书写声明语句,也不像它们的语法那样经常有特殊情况和意外。
Python开发者有意让违反了缩进规则的程序不能通过编译,以此来强制程序员差尘轿养成良好的编程习惯。并且Python语言利用缩进表示语句块的开始和退出,而非使用花括号或者某种关键字。增加缩进表示语句块的开始,虚肆而减少缩进则表示语句块的退出,缩进成为了语法的一部分。
求助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挑战100题(14~20)
题目:给你个小写英文字符串a和一个非负数b(0=b26), 将a中的每个小写字符替换成字母表中比它大b的字母。这里将字母表的z和a相连,如果超过了z就回到了a。
例如a="cagy", b=3,
则输出 :fdjb
提示: ord('a') = 97, ord('b') = 98, chr(97) = a
参考答案:
题目:给你一个字符串a和一个正整数n,判断a中是否存在长度为n的回文子串。如果存在,则输出YES,否则输出NO。
回文串的定义: 记串str逆序之后的字符串是str1,若str=str1,则称str是回文串,如"abcba".
参考答案:
题目:给你两个时间st和et(00:00:00=st = et=23:59:59), 请你给出这两个时间间隔的秒数。
如:st="00:00:00", et="00:00:10", 则输出10.
参考答案:
方法一:切片
方法二:time模块
题目:给你一个时间t(t是一个字典,共有六个字符串key(year,month,day,hour,minute,second),值为每个值为数字组成的字符串,
如t={'year':'2013','month':'9','day':'30','hour':'16','minute':'45','second':'2'}
请将其按照以下格式输出, 格式:XXXX-XX-XX XX:XX:XX。如上例应该输出: 2013-09-30 16:45:02。
参考答案:
方法一:利用datetime模块
方法二:一行
题目:给你一个整数组成的列表L,按照下列条件输出:
若L是升序排列的,则输出"UP";
若改郑L是降序排列的,则输出"DOWN";
若L无序,则输出"WRONG"。
参考答案:
题目:一个环形的公路上有n个加油站,编号为0,1,2,...n-1,
每个加油站加油都有一个上限,保存在列表limit中,即limit[i]为第i个加油站加油的上限,
而从第i个加油站开车开到第(i+1)%n个加油站需要cost[i]升油,cost为一个列表。
现在有一辆开始时没有油的车,要从一个加油站出发绕这个公核启颂路跑一圈回到起点。
给你整数n,列表limit和列表cost,你来判断能否完成任务。
如果能够完成任务,输出起始的加油站编号,如果有多个,输出编号最小的。
如果不能完成任务,输出-1。
参考答案:
构造新的limit和cost并遍历,来源
题目:给你一个整数列表L,判断L中是否存在相同的旁芹数字,
若存在,输出YES,否则输出NO。
参考答案:
2021-01-20 python编程题(1/100)
问题:编写一个程序,它将找到所有这些数字,可被7整除,但不是5的倍数,2000年至3200年(包括在内)。碰老罩得到的数字应按逗号分隔的顺序打印在一行上(1级含笑)
方法:使用for循环+if语句+join()+append()
'''
def number():
num_list = []
for i in range(2000,3201):
if i %7 == 0 and i %5 != 0:
num_list.append(str(i))
num = ','.join(num_list)
return num
if name == ' main ':
print(number())
'''
容易错的点:由于循环笑闹取的int类型,而join()只能处理str等可迭代类型,因此需要将i转换为str类型,否则会报错
Python编程题求助
该答案为组合数学中著名的卡特兰数,其通式为C(2n,n)-C(2n,n-1)
这里采用递推关系求解,即老早拍动态规划的方法
设n对父子有d[n]种出场策略,注意初值d[0]=1
因为每个孩子前面必有一个父亲与之对应
对于i对父子,遍历第j个孩子,该孩子前面有j-1个孩子,对应d[j-1]种出场侍羡策略
后面有i-j个孩子,对应d[i-j]种出场策略,则睁弊d[i]+=d[j-1]*d[i-j],最终d[n]即为所求
python代码如下:
n = int(input())
d = [0] * (n+1)
d[0] = 1
for i in range(n+1):
? for j in range(i+1):
? ? ? d[i] += d[j-1] * d[i-j]
print(d[n])
运行结果如下:
望采纳~