16.人民币金额打印

银行在打印票据的时候,常常需要将阿拉伯数字表示的人民币金额转换为大写表示,现在请你来完成这样一个程序。
在中文大写方式中,0到10以及100、1000、10000被依次表示为: 零 壹 贰 叁 肆 伍 陆 柒 捌 玖 拾 佰 仟 万
以下的例子示范了阿拉伯数字到人民币大写的转换规则:
1 壹圆
11 壹拾壹圆
111 壹佰壹拾壹圆
101 壹佰零壹圆
1000 负壹仟圆
1234567 壹佰贰拾叁万肆仟伍佰陆拾柒圆
现在给你一个整数a(|a|<100000000), 请你打印出人民币大写表示
例如:a = 90901001
则输出:玖仟零玖拾万壹仟零壹圆

a = 90901001digit = [u'零',u'壹',u'贰',u'叁',u'肆',u'伍',u'陆',u'柒',u'捌',u'玖']
weight = [u'圆',u'拾',u'佰',u'仟',u'万',u'拾',u'佰',u'仟']
Z = [(u'零仟',u'零佰',u'零拾',u'零零零',u'零零',u'零万',u'零圆'),(u'零',u'零',u'零',u'零',u'零',u'万',u'圆')]
num = str(abs(a)) #abs()绝对值  str()整数转换成字符串
s = u'负' if a<0 else ''
for i,x in enumerate(num): #enumerate()s += digit[int(x)] + weight[len(num)-i-1]
for z,v in zip(Z[0],Z[1]): #zip()s = s.replace(z,v) #str.replace(old,new)
print(u"壹圆") if a==0 else print(s)

17.公约数的个数

给你两个正整数a,b,输出它们公约数的个数。
例如:a = 24,b = 36
则输出:6

a = 24
b = 36print(len([x for x in range(1,min(a,b)+1) if a%x==0 and b%x==0]))

18.逆解最大公约数与最小公倍数

我们经常遇到的问题是给你两个数,要你求最大公约数和最小公倍数。今天我们反其道而行之,
给你两个数a和b,计算出它们分别是哪两个数的最大公约数和最小公倍数。输出这两个数,小的在前,大的在后,以空格隔开。若有多组解,输出它们之和最小的那组。 注:所给数据都有解,不用考虑无解的情况。
例如:a=3, b = 60
则输出:12 15

a = 3
b = 60x = [x for x in range(1,max(a,b)+1) if max(a,b) % x == 0 ]
y = [int(a*b/i) for i in x]
z = [(x0,y0) for x0,y0 in zip(x,y)] #zip() 返回元组组成的对象
ans = sorted(z,key=sum)[0] #sorted(iterable,key=None,reverse=False)
print('%s %s' % (min(ans),max(ans)))  #没有考虑无解以及a=1的情况

19.单身情歌

给你一个字符串a,如果其中包含"LOVE"(love不区分大小写)则输出LOVE,否则输出SINGLE
例如:a = “OurWorldIsFullOfLOVE”
则输出:LOVE

a = "OurWorldIsFullOfLOVE"print("LOVE" if "love" in a.lower() else "SINGLE")

20.信息加密

给你个小写英文字符串a和一个非负数b(0<=b<26), 将a中的每个小写字符替换成字母表中比它大b的字母。这里将字母表的z和a相连,如果超过了z就回到了a
例如:a=“cagy”, b=3,
则输出 :fdjb

a = "cagy"
b = 3print(''.join([chr(ord('a')+(ord(x)-ord('a')+b)%26) for x in a]))

a = "cagy"
b = 3t = ""
for c in a:if 'a' <=c <= 'z':t += chr(ord('a') + (ord(c)-ord('a') + b) % 26)  #密文字符 = (原文字符 + b) % 26else:t += c
print(t)
#chr(u) u为Unicode编码,返回其对应的字符
#ord(x) x为字符,返回其对应的Unicode编码

21.回文子串

给你一个字符串a和一个正整数n,判断a中是否存在长度为n的回文子串。如果存在,则输出YES,否则输出NO。
回文串的定义:记串str逆序之后的字符串是str1,若str=str1,则称str是回文串,如"abcba".

a = "adeda"  #字符串a
n = 5  #长度为n的回文子串result = "NO"
for i in range(len(a)):if (i+n<=len(a)):str = a[i:i+n]str1 = str[::-1]if (str==str1):result = "YES"break
print(result)

22.时间就是金钱

给你两个时间st和et(00:00:00<=st <= et<=23:59:59), 请你给出这两个时间间隔的秒数。
如:st=“00:00:00”, et=“00:00:10”, 则输出10.

st="00:56:00"
et="01:00:10"a = st.split(":")
b = et.split(":")
c = []
for i in range(3):c.append(int(b[i])-int(a[i]))
d=c[0]*3600+c[1]*60+c[2]
print(d)

st="00:56:00"
et="01:00:10"import datetime
a = datetime.datetime.strptime(et,"%H:%M:%S")
b = datetime.datetime.strptime(st,"%H:%M:%S")
print((a-b).seconds)

23.365 Or 366?

一年有多少天,这是个大问题,很值得思考。现在给你一个年份year(year为四位数字的字符串,如"2008",“0012”),你输出这一年的天数。如year=“2013”, 则输出365。

year = "2019"year1 = int(year)
if year1 % 4 == 0 and year1 % 100 != 0 or year1 %400 == 0:print(366)
else:print(365)

print(366 if int(year)%4==0 and int(year)%100!=0 or int(year)%400==0 else 365)

import calendar
print(366 if calendar.isleap(int(year)) else 365)
#calendar.isleap(year) 闰年返回True,否则False

24.一马当先

下过象棋的人都知道,马只能走’日’字形(包括旋转90°的日),现在想象一下,给你一个n行m列网格棋盘,
棋盘的左下角有一匹马,请你计算至少需要几步可以将它移动到棋盘的右上角,若无法走到,则输出-1.
如n=1,m=2,则至少需要1步;若n=1,m=3,则输出-1。


25.格式化时间

PythonTip挑战题(16-25)相关推荐

  1. 初中经典几何题,95%的同学都不会做,高手请进来 2016-03-21 16:25 几何是初中数学最主要的内容,对大多数孩子来说也是比较难的内容。而我们想要战胜这一比较难的题型,我们就需要多多练题

    初中经典几何题,95%的同学都不会做,高手请进来 2016-03-21 16:25 几何是初中数学最主要的内容,对大多数孩子来说也是比较难的内容.而我们想要战胜这一比较难的题型,我们就需要多多练题. ...

  2. Pythontip刷题记录

    pythontip 刷题记录 11.给你一个正整数列表 L, 输出L内所有数字的乘积末尾0的个数.(提示:不要直接相乘,数字很多,相乘得到的结果可能会很大). 不能直接相乘会太大了,分解质因数,去找2 ...

  3. SQL必知必会挑战题答案

    SQL必知必会挑战题答案 创建数据表 -- ----------------------------------------- -- Sams Teach Yourself SQL in 10 Min ...

  4. 《SQL必知必会(第5版)》挑战题笔记 | 所用DBMS为Mysql,mysql workbench安装

    文章目录 一.安装 step1:mysql安装 step2:mysql workbench安装 二.下载随书资料 三.代码实战练习 2.2 检索单个列 四.MySQL知识点回顾 五.挑战题 2.9挑战 ...

  5. JavaScript初学者编程题(16)

    JavaScript初学者编程题(16) 题目:一球从100米高度自由落下,每次落地后反跳回原高度的一半:再落下,求它在第10次落地时,共经过多少米?第10次反弹多高? HTMl部分 <!--t ...

  6. 简单英文题 16 Maximum Sum Not Exceeding K(python)

    http://noi.openjudge.cn/english/16/ """ 简单英文题 16 Maximum Sum Not Exceeding K(AC) http ...

  7. 某高校计算机系举办了一场,国家二级MS+OFFICE高级应用机试(操作题)-试卷25

    国家二级MS OFFICE高级应用机试(操作题)-试卷25 (总分:6.00,做题时间:90分钟) 一. Word字处理软件的使用(总题数:1,分数:2.00) 1.请在"答题"菜 ...

  8. 列表[1,2,3,4,5],请使用map()函数输出[1,4,9,16,25],并使用列表推导式提取出大于10的数,最终输出[16,25]

    列表[1,2,3,4,5],请使用map()函数输出[1,4,9,16,25],并使用列表推导式提取出大于10的数,最终输出[16,25] def f(x):return x**2res = map( ...

  9. 分段函数的期望和方差_题组25随机变量的分布列、期望与方差、正态分布

    高考圈题(新课标全国Ⅱ卷 - 数学理) 题组 25 随机变量的分布列.期望与方差.正态分布 一.考法解法 命题特点分析 结合事件的互斥性.对立性.独立性以及古典概型,主要以解答题的方式考查离散型随机变 ...

  10. 计算机cpu的速度越来越快 这导致,计算机一级笔试模拟题(1-6)

    计算机一级笔试模拟题(1-6) <计算机知识及应用初步>笔试模拟题(一) (考试时间60分钟) 班级 学号 姓名 说明: ① 本试卷全部为选择题,每题可供选择的答案中,只有一个正确答案. ...

最新文章

  1. 青源 LIVE 预告 | 华为诺亚韩凯:视觉 Transformer 综述
  2. 失败已是过去,现在成就未来
  3. python2.7.3怎么安装_python2.7.3的安装
  4. Zookeeper是什么?
  5. Android中Messenger的使用
  6. python基础编码规范_Python基础:编码规范(4)
  7. C#:抽象类和抽象函数, 密封类和密封方法(抄录自LilianChen)
  8. 拓端tecdat|R语言用Garch模型和回归模型对股票价格分析
  9. 递归算法经典实例python-递归案例python
  10. python通信系统仿真_Python与V-REP联合仿真
  11. 东京攻略(一):计划与现实
  12. python实现函数的最佳平方逼近
  13. 安利好用的idea查看日志的插件Grep Consol
  14. 大一C语言总结贴(持更) Part 10 随机步法
  15. selenium定位H5表单验证的提示语
  16. JavaScript-PC端网页特效
  17. u大师制作linux启动盘制作工具,如何用u大师u盘启动盘制作工具制作启动u盘
  18. 数字集成电路设计-7-一个简单cpu的设计,实现,仿真与综合
  19. EXCEL中使用index+match函数进行查找匹配
  20. 计算机配置显卡在哪里打开,怎么打开显卡设置 显卡设置如何打开 - 云骑士一键重装系统...

热门文章

  1. android system.img userdata.img文件解包打包及设置
  2. vue中使用阿里巴巴矢量图标库并修改样式
  3. 如何简单快速去掉电脑桌面图标上的小箭头
  4. 青海省海西蒙古族藏族自治州谷歌高清卫星地图下载
  5. 防弹咖啡真的能减肥吗?防弹咖啡减肥的原理是什么?
  6. IllegalArgumentException: Mapped Statements collection already contains value
  7. java el表达式 if else_EL表达式 JSTL 三层架构
  8. nginx 客户端返回499的错误码
  9. 新版Chrome设置--disable-web-security无效 解决方法
  10. Linux救援(rescue)模式知识点