前言
本群的作业,没有指定Python方向,而在于提升群内成员的语言功底,以便大家在Python的其他方向走的更远。
本群欢迎任何程度的Python学习者
Python程序设计 群号:651707058
题一:报数游戏
现在假如你和你的小伙伴一起玩报数游戏,从某一个人开始报数1,然后下一个报数2
一共100人,如果报数是3的倍数就报:哈哈哈,如果报数是5的倍数就报:呵呵呵
如果既是3的倍数,又是5的倍数就报:哈呵哈呵哈呵
需要遍历1-100
结果应该类似:0,1,2,哈哈哈,4,呵呵呵,6……14,哈呵哈呵哈呵,16……
for i in range(1,101):
if i%3==0 and i%5==0:
print('哈呵哈呵哈呵')
elif i %3 ==0:
print('哈哈哈')
elif i %5 == 0:
print('呵呵呵')
else:
print(i)
题二:判断设置的密码是否安全
设计一个密码是否安全的检查函数。
密码安全要求:
1.要求密码为6到20位,
2.密码只包含英文字母和数字
3.至少有一个小写字母、一个大写字母、一个数字
若都满足,则return True,并输出 密码安全
若不满足要求:
按123的优先级,不满足规定就return Flase,并输出密码不满足哪一条规定
也就是不满足1,就不输出不满足2的错误信息,只输出不满足1的错误信息
不满足规定1:输出密码不在限制的长度6-20位
不满足规定2:输出密码只包含英文字母和数字,不能填入其他字符
不满足规定3:输出必须要有一个小写字母、大写字母、数字,请检查你的密码是否满足
def check_code(code):
'''
:param code: str 密码字符串
:return: bool True or False
'''
import re
if not 6<=len(code)<=20:
print('密码不在限制的长度6-20位')
return False
if re.match('^\w+$',code) == None:
print('密码只包含英文字母和数字,不能填入其他字符')
return False
if not re.findall('[a-z]+',code) == [] and \
not re.findall('[A-Z]+',code) == [] and \
not re.findall('\d+',code) == []:
print('密码安全')
return True
else:
print('必须要有一个小写字母、大写字母、数字,请检查你的密码是否满足')
return False
check_code('ferd^42*24-+21')
题三:评论敏感词检查
现在我们在一个十分正式的评论区,去审查一些评论
给定一个字符串类型的评论,要求把这个评论里面的敏感词替换成,几个字就对应几个
敏感词包含:和谐 三个代表 言论自由
评论为:今天老师教了我们要和谐相处,也教会了我们“三个代表”重要思想要求中国当局的执政党(中国共产党)
要始终代表中国先进社会生产力的发展要求,如今的社会言论自由不自由?
ps:只是编程题而已,不要过度调侃
def check_comment(comment):
'''
:param comment:str 评论内容
:return: str 修改后的评论
'''
import re
def match(matched):
s =matched.group(1)
long = len(s)
return '*'*long
words = ['(和谐)','(三个代表)','(言论自由)','(重要思想)']
for w in words:
comment = re.sub(w,match,string = comment)
return comment
s = '''
今天老师教了我们要和谐相处,也教会了我们“三个代表”重要思想要求中国当局的执政党(中国共产党)
要始终代表中国先进社会生产力的发展要求,如今的社会言论自由不自由?
'''
print(check_comment(s))
题四:题4 让电脑来玩猜数字游戏
以前做过猜数字的游戏,当时电脑出题,人来猜。
现在我们要求人来出题,电脑来猜。
首先用户输入一个数字范围,心中存一个正确答案
电脑每猜一个数,用户输入大了或小了来引导到脑来猜,输入正确就输出猜中了,一共
猜了多少次,输入其他文字,输出非法命令
例如:
请输入猜数字的范围:1 100
电脑猜:50
用户输入:大了
电脑猜:40
用户输入:小了
电脑猜:45
用户输入:正确
正确答案45,一共猜3次
'电脑二分法猜数'
def pc_guess():
twonum = input('请按照数字1空格数2的格式输入')
start,end = int(twonum.split(' ')[0]),int(twonum.split(' ')[1])
time = 0
while True:
time +=1
moddle = (start+end)//2
print(moddle)
res = input(':')
if res == '大了':
end = moddle
elif res == '小了':
start = moddle
elif res == '正确':
print(f'一共猜{time}次')
break
else:
print('输入的是非法字符')
pc_guess()
'电脑随机猜数'
def pc_guess2():
from random import randint
twonum = input('请按照数字1空格数2的格式输入')
start, end = int(twonum.split(' ')[0]), int(twonum.split(' ')[1])
time = 0
while True:
time+=1
guess = randint(start,end)
print(guess)
res = input(':')
if res == '大了':
end = guess-1
elif res == '小了':
start = guess+1
elif res == '正确':
print(f'一共猜{time}次')
break
else:
print('输入的是非法字符')
pc_guess2()