Python基础练习题(3)

1.现在假如你和你的小伙伴一起玩报数游戏,从某一个人开始报数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('哈呵哈呵哈呵',end=',')
    elif i%3==0:
        print('哈哈哈',end=',')
    elif i%5==0:
        print('呵呵呵',end=',')
    else:
        print(i,end=',')

2.设计一个密码是否安全的检查函数。密码安全要求:1.要求密码为6到20位,2.密码只包含英文字母和数字3.至少有一个小写字母、一个大写字母、一个数字。若都满足,则return True,并输出 密码安全若不满足要求:按123的优先级,不满足规定就return Flase,并输出密码不满足哪一条规定。也就是不满足1,就不再输出不满足2的错误信息,只输出不满足1的错误信息。

不满足规定1:输出密码不在限制的长度6-20位

不满足规定2:输出密码只包含英文字母和数字,不能填入其他字符

不满足规定3:输出必须要有一个小写字母、或者大写字母、或者数字,请检查你的密码是否满足

def check_code(code):
    low=0
    up=0
    if len(code)<6 or len(code)>20:
        print('不满足条件一')
        return False
    if code.isalnum() or code.isalnum() or code.isalpha():
        pass
    else:
        print('不满足条件二')
        return False
    if code.isalnum():
        for i in code:
            if ord(i)>=ord('a') and ord(i)<=ord('z'):
                low+=1
            elif ord(i)>=ord('A') and ord(i)<=ord('Z'):
                up+=1
        if low>=1 and up>=1:
            pass 
        else:
            print('不满足条件三')
            return False
if __name__=='__main__':
    print(check_code('fhhhdf'))

3.现在我们要在用户发表评论时,过滤铭感字,要求把这个评论里面的敏感词替换成*,几个字就对应几个*.

敏感词包含:吸烟 武老师 自杀           ps:只是编程题而已,不要过度调侃。

def check_comment(comment):
    list1=list()
    list2=list()
    string=''
    for i in li:
        if i in comment:
            newstring=comment.replace(i,len(i)*'*')
            list1.append(newstring)
            comment=newstring#因为不能确定出现了该敏感字多少次,所以每修改一次敏感字进行一次赋值
        else:
            list1.append(comment)
    list2.append(list1[-1])
    string=''.join(list2)
    return string
if __name__=='__main__':
    li = ["吸烟","武老师","自杀"]
    comment=input('请输入你要发布的评论:')
    print(check_comment(comment))

4.以前做过猜数字的游戏,当时电脑出题,人来猜。现在我们要求人来出题,电脑来猜。

首先用户输入一个数字范围,心中存一个正确答案。电脑每猜一个数,用户输入大了或小了来引导到脑来猜,输入正确就输出猜中了,一共猜了多少次,输入其他文字,输出非法命令

例如:请输入猜数字的范围:1 100 电脑猜:50用户输入:大了电脑猜:40用户输入:小了电脑猜:45用户输入:正确

正确答案45,一共猜3次。

import random
def guess_num(a,b):
    count=1
    while True:
        guess=random.randint(a,b)
        print('我猜是{0}'.format(guess))
        inf=input('用户输入')
        if inf=='大了':
            b=guess-1
            count+=1
        elif inf=='小了':
            a=guess+1
            count+=1
        elif inf=='正确':
            cout=count+1
            break
    print('正确答案{0},一共猜{1}次'.format(guess,count))#因为正确答案是在用户输入'正确'后产生的
if __name__=='__main__':
    list1=[]
    rang=input('请输入你猜的范围:')
    list1=rang.split()#不写拆分方式,默认是按空格拆除
    a=int(list1[0])
    b=int(list1[1])
    guess_num(a,b)

猜你喜欢

转载自blog.csdn.net/qq_35328369/article/details/81461618