学校的练习题
向用户询问以下内容:
名,姓,出生年。
用户名生成规则:
姓的前两个字符,名的前两个字符和出生年后两个数字组成
密码生成规则:名的首尾字母/名的字符数量/姓首尾字母/姓字符数量/出生年的四个数字相加的和。
例如:
名:Saturnino
姓:Bacterio
出生年:1972
生成结果:
你的用户名是:SaBa72
你的密码是:So9Bo819
1、input 获取用户信息
"""
名:Saturnino
姓:Bacterio
出生年:1972
"""
#首先,先用户询问姓名,,出生年
lname = input('输入名(如:Saturnino):')
fname = input('输入姓(如:Bacterio):')
birth_Year = input('输入出生年(如:1972):')
2、字符切片生成用户名
#用户名生成
"""
名的前两个字符+姓的前两个字符+出生年后两个数字组成
"""
user_ID = lname[0:2]+fname[0:2]+birth_Year[-2:]
3、
#密码生成
"""
名的首尾字母+名的字符数量+姓首尾字母+姓字符数量+出生年的四个数字相加的和
"""
password = lname[0]+lname[-1]+str(len(lname))+fname[0]+fname[-1]+str(len(fname))+str(int(birth_Year[0])+int(birth_Year[1])+int(birth_Year[2])+int(birth_Year[3]))
4、输出结果
#打印生成结果
print('用户名:{}'.format(user_ID))
print('密码:{}'.format(password))
主要涉及到字符串的切片取值和字符串拼接。使用如下代码:
fname=input('名:')
sname=input('姓:')
year=input('出生年:')
name=sname[:2]+fname[:2]+year[-2:]
psw=fname[0]+fname[-1]+str(len(fname))+sname[0]+sname[-1]+str(len(sname))+str(sum([int(x) for x in list(year)]))
print(f'你的用户名是: {name}')
print(f'你的密码是: {psw}')
运行结果:
F:\2021\qa\ot2>t2
名:Saturnino
姓:Bacterio
出生年:1972
你的用户名是: BaSa72
你的密码是: So9Bo819
若有帮助请点采纳。
这里主要想考的是这个切片取值
#名:Saturnino
#姓:Bacterio
#出生年:1972
#你的用户名是:SaBa72
#你的密码是:So9Bo819
a='Saturnino'
b='Bacterio'
y='1972'
print(a[0:2]+b[0:2]+y[2:])
密码同理一个一个取出来拼接就好。
这个规则说得很清楚了,字符串取子串,年龄取模100就是后2位。