1.通过列表实现堆栈的数据结构。
#!/usr/bin/env python
#coding:utf-8
"""
file:zhan.py
date:8/28/17
author:hu
desc:
"""
l=[]
while True:
print '''
welcom to stack mangement
p(U)sh:入栈
p(O)p:出栈
(V)iew:查看栈
(Q)uit:退出
'''
op=raw_input("please input op:")
if op in "Uu":
input=raw_input("please input you want add:")
l.append(input)
print l
elif op in "Oo":
if len(l)==0:
print "栈为空\n"
else:
print l.pop()
elif op in "Vv":
print l
print '\n'
elif op in "Qq":
break
else:
print "please input Uu Oo Vv Qq\n"
二.18位身份证的编码规则是:
前1、2位数字表示:所在省(直辖市、自治区)的代码
第3、4位数字表示:所在地级市(自治州)的代码
第5、6位数字表示:所在区(县、自治县、县级市)的代码;
第7—14位数字表示:出生年、月、日;
第15、16位数字表示:所在地的派出所的代码;
第17位数字表示性别:奇数表示男性,偶数表示女性;
第18位数字是校检码,用来检验身份证的正确性。
用户在输入身份证的过程中经常会输入错误,为了方便用户正确输入需要在输入过程中对用户的输入按照 6+8+4 的格式进行分组,实现一个方法接收输入过程中的身份证号,返回分组后的字符
#!/usr/bin/env python
#coding:utf-8
"""
file: shenfen.py
date: 8/29/17
author:hu
desc:
"""
s=raw_input("s:")
sl=len(s)
if sl<=6:
print s
elif 6<sl<=14:
print s[:6],s[6:]
else:
print s[:6],s[6:14],s[14:]
三、输入两个字符串,从第一字符串中删除第二个字符串中所有的字符。例如,输入”They are students.”和”aeiou”,则删除之后的第一个字符串变成”Thy r stdnts.”
输入描述:
每个测试输入包含2个字符串输出描述:
输出删除后的字符串
#!/usr/bin/env python
#coding:utf-8
"""
file:zifuchuan.py
date:8/28/17
author:hu
desc:
"""
str1=raw_input("please input str1:")
str2=raw_input("please input str2:")
for i in str1:
if i in str2:
s=str1.replace(i,'')
print s
方法二:
#!/usr/bin/env python
#coding:utf-8
"""
file:zifuchuan.py
date:8/28/17
author:hu
desc:
"""
str1=raw_input("please input str1:")
str2=raw_input("please input str2:")
s=""
for i in str1:
if i not in str2:
s+=i
print s
- 题目描述:
小易喜欢的单词具有以下特性:
1.单词每个字母都是大写字母
2.单词没有连续相等的字母
- 输入描述:
输入为一个字符串,都由大写字母组成,长度小于100
- 输出描述:
如果小易喜欢输出”Likes”,不喜欢输出”Dislikes”
#!/usr/bin/env python
#coding:utf-8
"""
file: xiaoyi.py
date: 8/28/17
author:hu
desc:
"""
def con1(s):
if s.isupper()==True:
return True
else:
return False
def con2(s):
for i in range(0,len(s)-1):
if s[i]==s[i+1]:
return False
return True
def main():
s = raw_input("please input a word:")
if con1(s)==True and con2(s)==True:
return "Likes"
else:
return "Dislikes"
print main()
- 题目描述:
给定一个正整数,编写程序计算有多少对质数的和等于输入的这个正整数,并输出结果。输入值小于1000。
如,输入为10, 程序应该输出结果为2。(共有两对质数的和为10,分别为(5,5),(3,7))
输入描述:
输入包括一个整数n,(3 ≤ n < 1000)输出描述:
输出对数示例1 :
输入:
10
输出:
2
方法一:
#!/usr/bin/env python
#coding:utf-8
"""
file: sushudui.py
date: 8/29/17
author:hu
desc:
"""
def isprime(num): ##判断素数的函数
for i in range(2,num):
if num % i == 0:
return False
return True
num=input("num:")
l=[] ##存放2,num之间的素数
for i in range(2,num):
if isprime(i):
l.append(i)
doublel=[]
for i in l:
j=num-i
if isprime(j) and i<=j:
doublel.append((i,j))
print len(doublel)
方法二:
#!/usr/bin/env python
#coding:utf-8
"""
file: sushudui.py
date: 8/29/17
author:hu
desc:
"""
def isprime(num): ##判断素数的函数
for i in range(2,num):
if num % i == 0:
return False
return True
num=input("num:")
##列表生成式
l=[i for i in range(2,num) if isprime(i)]
doublel=[i for i in l if isprime(num-i) and i<=num-i]
print len(doublel)