1.字符串最后一个单词的长度
题目描述:计算字符串最后一个单词的长度,单词以空格隔开。
输入描述: 一行字符串,非空,长度小于5000。
输出描述: 整数N,最后一个单词的长度。
示例1:
输入:hello world
输出:5
#!/usr/bin/env python
#coding:utf-8
#_____________________ _____________________
#_____________________ README _____________________
# Author :WANG *
# Email :wang@qq.com *
# Version :1.0 *
# Create_date :2018-01-02 *
# Description : *
# *
#______________________ _______________________
#______________________ END _______________________
print """
**************************************************************
字符串最后一个单词的长度
**************************************************************
"""
while True:
str1 = raw_input("请输入字符串:").strip()
Str = str1.split(" ") #以空格为界分片
print len(Str[-1])
if raw_input("是否继续(y/n)?") == "n":break
2. 计算字符个数
题目描述: 写出一个程序,接受一个有字母和数字以及空格组成的字符串,和一个字符,然后输出输入字符串中含有该字符的个数。不区分大小写。
输入描述: 输入一个由字母和数字以及空格组成的字符串,和一个字符。
输出描述:输出输入字符串中含有该字符的个数。
示例1:
输入:ABCDEF A
输出:1
#!/usr/bin/env python
#coding:utf-8
#_____________________ _____________________
#_____________________ README _____________________
# Author :WANG *
# Email :wang@qq.com *
# Version :1.0 *
# Create_date :2018-01-02 *
# Description : *
# *
#______________________ _______________________
#______________________ END _______________________
print """
**************************************************************
计算字符在字符串中出现的次数
**************************************************************
"""
while True:
str0 = raw_input("请输入字符串:").strip()
Str = str0.split(" ")
str1 = Str[0].upper()
str2 = Str[1].upper()
print str1.count(str2)
if raw_input("是否将继续(y/n)?") == 'n':break
3. 简单密码破解
题目描述:密码是我们生活中非常重要的东东,我们的那么一点不能说的秘密就全靠它了。哇哈哈. 接下来渊子要在密码之上再加一套密码,虽然简单但也安全。
假设渊子原来一个BBS上的密码为zvbo9441987,为了方便记忆,他通过一种算法把这个密码变换成YUANzhi1987,这个密码是他的名字和出生年份,怎么忘都忘不了,而且可以明目张胆地放在显眼的地方而不被别人知道真正的密码。
他是这么变换的,大家都知道手机上的字母: 1--1, abc--2, def--3, ghi--4, jkl--5, mno--6, pqrs--7, tuv--8 wxyz--9, 0--0,就这么简单,渊子把密码中出现的小写字母都变成对应的数字,数字和其他的符号都不做变换,
声明:密码中没有空格,而密码中出现的大写字母则变成小写之后往后移一位,如:X,先变成小写,再往后移一位,不就是y了嘛,简单吧。记住,z往后移是a哦。
输入描述:输入包括多个测试数据。输入是一个明文,密码长度不超过100个字符,输入直到文件结尾;
输出描述:输出渊子真正的密文
示例1:
输入:YUANzhi1987
输出:zvbo9441987
#!/usr/bin/env python
#coding:utf-8
#_____________________ _____________________
#_____________________ README _____________________
# Author :WANG *
# Email :wang@qq.com *
# Version :1.0 *
# Create_date :2018-01-02 *
# Description : *
# *
#______________________ _______________________
#______________________ END _______________________
print """
**************************************************************
密码加密
**************************************************************
"""
Lower = {
"abc":2, "1":1, "def":3 ,"ghi":4, "jkl":5,
"mno":6, "pqrs":7, "tuv":8, "wxyz":9, "0":0
}
#判断小写字母ASCILL a=97~120 A=65~90
#判断大写字母
#数字和字符不变
def JiaMi():
str3 = ""
str1 = raw_input("输入密码:")
for i in str1:
Str = i
if i.islower(): #判断小写字母
for str2 in Lower.keys():
if str2.find(i) != -1:
Str = str(Lower[str2])
break
elif i.isupper(): #判断大写字母
if i == "Z":
Str = "z"
else:
Str = chr(ord(i) + 33)
str3 +=Str
print "输出:%s"%(str3)
def main():
while True:
JiaMi()
if raw_input("是否继续(y/n)?") == 'n':break
if __name__=="__main__":
main()
4. (2017-腾讯-在线编程题)
- 题目描述:
给定一个正整数,编写程序计算有多少对质数的和等于输入的这个正整数,并输出结果。输入值小于1000。
如,输入为10, 程序应该输出结果为2。(共有两对质数的和为10,分别为(5,5),(3,7))
- 输入描述:
输入包括一个整数n,(3 ≤ n < 1000)
- 输出描述:
输出对数
- 示例1 :
输入:10
输出:2
#!/usr/bin/env python
#coding:utf-8
#_____________________ _____________________
#_____________________ README _____________________
# Author :WANG *
# Email :wang@qq.com *
# Version :1.0 *
# Create_date :2018-01-02 *
# Description :计算一个数可以写成多少个质数相加*
# *
#______________________ _______________________
#______________________ END _______________________
print """
**************************************************************
2017腾讯在线编程题
**************************************************************
"""
def ZhiShu(Num): #如果Num是质数Bool=True
Bool = True
if Num!=1 and Num !=2:
for i in range(2,Num):
if Num%i==0:
Bool = False
break
return Bool
def main():
while True:
count = 0
Num = int(raw_input("输入:").strip())
for i in range(1,int(Num/2)+1): #避免[3,7][7,3] i记录1~5,j记录5~10
if ZhiShu(i): #i是质数
j = Num - i
if ZhiShu(j):#j是质数
count +=1
print "输出:%d"%(count)
if raw_input("是否继续(y/n)?") == 'n':break
if __name__=="__main__":
main()