puthon练习3

# 1.字符串最后一个单词的长度

题目描述:计算字符串最后一个单词的长度,单词以空格隔开。

输入描述: 一行字符串,非空,长度小于5000。
输出描述: 整数N,最后一个单词的长度。

示例1:
    输入:hello world

    输出:5


#!/usr/bin/python

#coding:utf-8
str=raw_input("请输入句子:")
strt=str.split()
print len(strt[-1])


puthon练习3_第1张图片


# 2. 计算字符个数


题目描述: 写出一个程序,接受一个有字母和数字以及空格组成的字符串,和一个字符,然后输出输入字符串中含有该字符的个数。不区分大小写。

输入描述: 输入一个有字母和数字以及空格组成的字符串,和一个字符。
输出描述:输出输入字符串中含有该字符的个数。

示例1:
    输入:ABCDEF A

    输出:1


#!/usr/bin/python
#coding:utf-8
str=raw_input("字符串:")
strx=raw_input("字符:")

print str.count(strx)


puthon练习3_第2张图片



# 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/python
#coding:utf-8
str1=raw_input("mima:")
str2=[]
d={"a":"2","b":"2","c":"2", "d":"3","e":"3","f":"3", "g":"4","h":"4","i":"4", "j":"5","k":"5","l":"5", "m":"6","n":"6","o":"6", "p":"7","q":"7","r":"7","s":"7", "t":"8","u":"8","v":"8" ,"w":"9","x":"9","y":"9","z":"9",}
for i in str1[0::1]:
  if i.isupper():
    i=chr(ord(i)+1+32)
    str2.append(i)
  elif i.isdigit():
    str2.append(i)
  else:
      if i in d:
         i=d[i]
         str2.append(i)
out = ''.join(str2)
print out


puthon练习3_第3张图片


# 4. (2017-腾讯-在线编程题)


- 题目描述:

给定一个正整数,编写程序计算有多少对质数的和等于输入的这个正整数,并输出结果。输
入值小于1000。
如,输入为10, 程序应该输出结果为2。(共有两对质数的和为10,分别为(5,5),(3,7))

- 输入描述:
输入包括一个整数n,(3 ≤ n < 1000)

- 输出描述:
输出对数

- 示例1 :

```
输入:
    10
输出:
    2

```

#!/usr/bin/python
#coding:utf-8
zs=[2,]
count=0
inn=input("输入一个整数:")
for i in range(3,1000,1):                   //先判断区间内的质数有哪些
        for j in range(2,i,1):
            if i%j==0:                       //循环区间不包括1和它本身,如果还能除尽,就不是质数
              break
            else:
                zs.append(i)
                break
#print zs     
for o in zs[0::1]:
    if (inn-o) in zs:
      count=count+1
      continue
print (count+1)/2       //如果有像10这样的数答案有(3,7),(5,5),(7,3)奇数个有重复;如果像8有(3,5),(5,3)偶数个有重复,用python2版本的除(3+1)/2=2,(2+1)/2=1,结果不影响,可以共用一个表达式,都是我们需要的答案
puthon练习3_第4张图片

puthon练习3_第5张图片

5.用户系统

1.注册新用户
  如果注册用户已经存在,则报错;
  需要填写信息:username,password,gender,email,age;
2.用户登陆
  用户登陆时,判断该用户是否注册;
  用户登陆时,为防止黑客暴力破解,仅有三次机会;
  如果登陆成功,就显示成功。
3.注销用户 用户注销时,需要输入用户名和正确的用户密码
4.显示用户信息 显示系统中存在所有已经注册用户信息
5.退出系统
puthon练习3_第6张图片
puthon练习3_第7张图片

puthon练习3_第8张图片

puthon练习3_第9张图片

puthon练习3_第10张图片

puthon练习3_第11张图片

你可能感兴趣的:(PYTHON,计算字符个数,字符串最后一个单词的长度,简单密码破解,用户管理)