8/7/2018 Python程序设计群作业----Python语言测试练习题【第十一天】

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/tobe_numberone/article/details/81485054

前言
本群的作业,没有指定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()

猜你喜欢

转载自blog.csdn.net/tobe_numberone/article/details/81485054