1、判断输入的数字是否是回文数:

学习内容:把数字转成字符串

1.

def is_palindrome(n):
n=str(n)
m=n[::-1]
return n==m

2.

tmp_str = str(n)
i = len(tmp_str) - 1
j = 0
while i > j :
if tmp_str[i] == tmp_str[j] :
i = i - 1
j = j + 1
pass
else :
return False
return True

如果要直接接收键盘输入的话,可以直接用raw_input()即可,这样获得的就是字符串。

2.一行输出多个数字

学习内容:如何一行输出多个数字

1.

s=[1,2,3,4,5,]
s1='%d %d %d %d %d' %(s[0],s[1], s[2], s[3], s[4])
print s1

2.转换成字符串输出:

s=[1,2,3,4,5]
s2='%s' %(' '.join(map(str,s)))
print s2

3.统计列表中元素个数

1.利用列表的count函数

mylist = [1,2,2,2,2,3,3,3,4,4,4,4]
myset = set(mylist) #myset是另外一个列表,里面的内容是mylist里面的无重复项
for item in myset:
print("the %d has found %d" %(item,mylist.count(item)))

2.利用字典

List=[1,2,2,2,2,3,3,3,4,4,4,4]
a = {}
for i in List:
#i是元素,不是索引,所以a[i]表示key
a[i] = List.count(i)
print (a)

3.利用Counter类,Counter类的学习:http://www.cnblogs.com/shixisheng/p/7410505.html

from collections import Counter
Counter([1,2,2,2,2,3,3,3,4,4,4,4])
#输出:Counter({1: 1, 2: 4, 3: 3, 4: 4})

4.把数组组成最小的数

题目描述

输入一个正整数数组,把数组里所有数字拼接起来排成一个数,打印能拼接出的所有数字中最小的一个。例如输入数组{3,32,321},则打印出这三个数字能排成的最小数字为321323。
# -*- coding:utf-8 -*-
class Solution:
def PrintMinNumber(self, numbers):
# write code here
num_str=map(str,numbers)
if not num_str:
return ''
num_str.sort(lambda x,y:cmp(x+y,y+x))
return ''.join(num_str)

思路:用lambda表达式写一个比较规则。

自定义比较函数:http://www.cnblogs.com/shixisheng/p/7500407.html

5.字符串的全排列

输入一个字符串,按字典序打印出该字符串中字符的所有排列。例如输入字符串abc,则打印出由字符a,b,c所能排列出来的所有字符串abc,acb,bac,bca,cab和cba。

使用递归方法:假如n-1个字符串都已经有了,那么加入第n个字符的时候,可以让n依次和前边n-1个字符进行交换。

实例代码:假如字符串strAP=['A','B','C','D']

# -*- coding:utf-8 -*-

def SWAP(i, j):
temp = strAP[i]
strAP[i] = strAP[j]
strAP[j] = temp strAP = ['A', 'B', 'C', 'D']
result = []
def CalAllP1(first, num):
if first == num - 1: # 到达最后一个元素,则退出
pass
else:
for i in range(first, num):
if i != first: # 输出时去掉重复
SWAP(i, first)
temp = ''.join(strAP)
result.append(temp)
CalAllP1(first + 1, num) # 递归调用,全排列后面的元素
SWAP(i, first)# 用来复位的(前边你交换了,这里再交换回来)。 temp = ''.join(strAP)
result.append(temp)
CalAllP1(0, len(strAP))
print result

完整的代码:

# -*- coding:utf-8 -*-
class Solution:
def __init__(self):
self.strAP=[]
self.result=[]
def Permutation(self, ss):
# write code here
if not ss:
return []
self.strAP=list(ss)
temp = ''.join(self.strAP)
self.result.append(temp)
self.CalAllP1(0, len(self.strAP))
self.result=sorted(list(set(self.result)))#用set去除重复,然后再转化成list,然后再排序
return self.result def SWAP(self, i, j):
temp = self.strAP[i]
self.strAP[i] = self.strAP[j]
self.strAP[j] = temp def CalAllP1(self, first, num):
if first == num - 1: # 到达最后一个元素,则退出
pass
else:
for i in range(first, num):
if i != first: # 输出时去掉重复
self.SWAP(i, first)
temp = ''.join(self.strAP)
self.result.append(temp)
self.CalAllP1(first + 1, num) # 递归调用,全排列后面的元素
self.SWAP(i, first)#用来复位的

python 刷题必备的更多相关文章

  1. 再也不用c刷题了!!——c++刷题必备

    致读者: 博主是一名数据科学与大数据专业大二的学生,真正的一个互联网萌新,写博客一方面是为了记录自己的学习历程,一方面是希望能够帮助到很多和自己一样处于困惑的读者.由于水平有限,博客中难免会有一些错误 ...

  2. Python 刷题笔记

    Python 刷题笔记 本文记录了我在使用python刷题的时候遇到的知识点. 目录 Python 刷题笔记 选择.填空题 基本输入输出 sys.stdin 与input 运行脚本时传入参数 Pyth ...

  3. python刷题第二周

    1: 第3章-5 字符转换 (15 分) 本题要求提取一个字符串中的所有数字字符('0'--'9'),将其转换为一个整数输出. 输入格式: 输入在一行中给出一个不超过80个字符且以回车结束的字符串. ...

  4. python刷题第四周

    本周有所收获的题目: 第一题: 第4章-17 水仙花数(20 分) (20 分) 水仙花数是指一个N位正整数(N≥3),它的每个位上的数字的N次幂之和等于它本身. 例如:153=1×1×1+5×5×5 ...

  5. python刷题第三周

    以下是本周有所收获的题目 第一题: 第4章-4 验证"哥德巴赫猜想" (20 分) 数学领域著名的"哥德巴赫猜想"的大致意思是:任何一个大于2的偶数总能表示为两 ...

  6. python刷题专用函数。。

    无它,非bin()莫属. bin(x) Convert an integer number to a binary string. The result is a valid Python expre ...

  7. 【python刷题】LRU

    什么是LRU? LRU是Least Recently Used的缩写,即最近最少使用,是一种常用的页面置换算法,选择最近最久未使用的页面予以淘汰.该算法赋予每个页面一个访问字段,用来记录一个页面自上次 ...

  8. Python 刷题知识点

    if : elif : else : print('{0} \n{1} \n{2}' .format((a + b), (a - b), (a * b))) print(*[num**2 for nu ...

  9. 各种OJ网站,刷题必备

    各种OJ网站 落谷 vijos JoyOI CodeVS Comet OJ 北京大学 浙江大学 杭州电子科技大学 信息学奥赛一本通 以上就是本蒟蒻所知的OJ网站 收集和打字应该值一个赞吧

随机推荐

  1. Maven 生成项目站点

    Maven 不仅仅时一个自动化构建工具和一个依赖管理工具,他还能够帮助聚合项目信息,促进团队间的交流,POM 可以包含各种项目信息,如项目描述.版本控制系统地址.缺陷跟踪系统地址.许可证信息.开发者信 ...

  2. Ushare共享流媒体

    一. 支持USB 参考: http://wenku.baidu.com/link?url=K_uAp4QEa2cX3nPMkbc-colCAHA1yBwo1JCYsZf-qR7AVFPkmpbBVYR ...

  3. php 加密 解密 方法

    base64        Base64编码可用于在HTTP环境下传递较长的标识信息      base64_encode       base64_decodeserialize       可以将 ...

  4. BASIC-14_蓝桥杯_时间转换

    示例代码: #include <stdio.h> int main(void){ int t = 0 , h = 0 , m = 0 , s = 0 ; scanf("%d&qu ...

  5. 【Spring学习笔记-MVC-1.1--】@PathVariable与@RequestParam、@CookieValue等比较

    作者:ssslinppp       1. 摘要 本文结构如下: 2. @RequestMapping 通配符方式: 3. @PathVariable URL请求时,使用占位符: 4. @Reques ...

  6. 排查linux下java应用cpu占用过高

    用于快速排查Java的CPU性能问题(top us值过高),自动查出运行的Java进程中消耗CPU多的线程,并打印出其线程栈,从而确定导致性能问题的方法调用.目前只支持Linux.原因是Mac.Win ...

  7. [原]System.IO.Path.Combine 路径合并

    使用 ILSpy 工具查看了 System.IO.Path 类中的 Combine 方法 对它的功能有点不放心,原方法实现如下: // System.IO.Path /// <summary&g ...

  8. 【转载】深入浅出REST

    英文原文:A Brief Introduction to REST 作者:Stefan Tilkov ,译者:苑永凯,发布于 2007-12-25 不知你是否意识到,围绕着什么才是实现异构的应用到应用 ...

  9. chapter1 初识Go语言

    1.1 语言简史 1.2 语言特性 I:自动垃圾回收 II:更丰富的内置类型 数组切片(Slice):是一种动态增长的数组. III:函数多返回值 func getName()(firstName, ...

  10. nginx-1.8.1的安装

    1.我直接切换到root用户下安装,这里需要三个插件一起配套使用的 分别是: 1.gzip 模块需要 zlib 库 ( 下载: http://www.zlib.NET/ )2.rewrite 模块需要 ...