Python字符串与函数实验

1.密码强度检查: 一般而言,密码字符主要由数字,大小写字母和标号符号。密码的安全强度主要和密码字符串的复杂程度相关,密码字符串中包含的字符种类越多,安全强度越高。一般密码的安全强度可分为强密码,中高,中低,弱密码。强密码包含了数字,小写字母,大写字母,及标号(string.punctuation)等4种符号,中高密码则包含前述3种符号,中低则包含前述2种符号,弱密码则只包含前述一种符号。
代码:

"""
    @author didi
    @datetime 2020/10/16
"""
import string

while True:
    digits = 0
    lowercase = 0
    uppercase = 0
    punnctuation = 0
    passwd = input("请输入密码:")
    if len(passwd) < 6:
        print("错误(少于6位)")
    else:
        for a in passwd:
            if a in string.digits:
                digits = 1
            elif a in string.ascii_lowercase:
                lowercase = 1
            elif a in string.ascii_uppercase:
                uppercase = 1
            elif a in string.punctuation:
                punnctuation = 1
        if digits + lowercase + uppercase + punnctuation == 2:
            print("中低密码")
        elif digits + lowercase + uppercase + punnctuation == 3:
            print("中高密码")
        elif digits + lowercase + uppercase + punnctuation == 4:
            print("强密码")
        else:
            print("密码太弱")

  1. 垃圾内容快速识别(简单):一般来说,在一封正常邮件内容中,是不会出现太多类似 【, 】,*,-,/,\等特殊字符,如果邮件内容中出现这些特殊字符的数量超过一定比例,则可以直接认为是垃圾邮件。
    编写程序,对给定邮件内容进行分类,提示“垃圾邮件”或“正常邮件”
"""
    @author didi
    @datetime 2020/10/16
"""
import string

while True:
    digits = 0
    lowercase = 0
    uppercase = 0
    punnctuation = 0
    chinese =0
    pin = float(input("请输入邮件内容分类阈值:"))
    email = input("请输入邮件内容:")
    for a in email:
        if a in string.digits:
            digits += 1
        elif a in string.ascii_lowercase:
            lowercase += 1
        elif a in string.ascii_uppercase:
            uppercase += 1
        elif a in string.punctuation:
            punnctuation += 1
        else:
            chinese += 1
    if punnctuation / (digits + lowercase + uppercase + punnctuation +chinese) >= pin:
        print("【注意】可能是垃圾邮件")
    else:
        print("是正常邮件")

3.尼姆游戏。两个玩家轮流从一堆物品中拿走一部分物品。在每一步中,玩家可以自由选择拿走的物品,但必须在数量上要求拿走至少一件最多一半的物品。两玩家交替取走物品,取走最后一件物品的玩家为输家。
编写程序,模拟用户和机器两游戏玩家,其中机器的取走策略为随机取走合法数量的物品。用户玩家则为用户合法输入来确定本轮的取走数量。

"""
    @author didi
    @datetime 2020/10/16
"""
import math
import random

sum = 24  # 物品总数量
left = sum  # 剩余物品数量
get = 0  # 玩家或电脑一次拿走的物品数量
flag = 0  # 标志位,0表示最近取物品的是玩家,1表示最近取物品的是电脑
print("*****************************************")
print("welcome to the NimuGame for", sum, "Stuffs")
print("*****************************************")
while left > 0:
    print("[Your turn] the left", left, ".Please input your move(1-", math.ceil(left / 2), "):", end="")
    get = int(input())
    left -= get
    flag = 0
    print("[Your turn] after move ,the left is", left)
    if left == 0:
        break
    get = random.randint(1, math.ceil(left / 2))
    left -= get
    print("[Computer turn] computer move", get)
    print("[Computer turn] after move ,the left is", left)
    flag = 1
if flag == 1:
    print("Congrats, You Won!")
else:
    print("Never mind ,the computer won")

  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Python中提供了很多字符串内置函数,这里列举几个比较常用的: 1. `len(str)`:返回字符串的长度。 ```python str = "hello, world!" print(len(str)) # 输出:13 ``` 2. `str.upper()`和`str.lower()`:将字符串分别转化为大写和小写形式。 ```python str = "Hello, WoRlD!" print(str.upper()) # 输出:HELLO, WORLD! print(str.lower()) # 输出:hello, world! ``` 3. `str.capitalize()`和`str.title()`:将字符串的首字母或每个单词的首字母转化为大写。 ```python str = "hello, world!" print(str.capitalize()) # 输出:Hello, world! print(str.title()) # 输出:Hello, World! ``` 4. `str.find(sub, start, end)`和`str.index(sub, start, end)`:返回子字符串在原字符串中的位置,若没有则返回-1或抛出异常。 ```python str = "hello, world!" print(str.find('o')) # 输出:4 print(str.index('o')) # 输出:4 print(str.find('z')) # 输出:-1 # print(str.index('z')) # 抛出异常:ValueError: substring not found ``` 5. `str.count(sub, start, end)`:返回子字符串在原字符串中出现的次数。 ```python str = "hello, world!" print(str.count('o')) # 输出:2 ``` 6. `str.replace(old, new, count)`:将字符串中的所有旧子字符串替换为新子字符串,count为替换次数,可省略,表示替换所有。 ```python str = "hello, world!" print(str.replace('l', 'L')) # 输出:heLLo, worLd! ``` 除此之外,还有很多其他的字符串内置函数,比如`str.startswith(prefix, start, end)`、`str.endswith(suffix, start, end)`、`str.strip(chars)`、`str.join(iterable)`等等。这些函数都有其特定的功能和用法,可以根据实际情况进行选择和使用。 引用:Python字符串内置函数功能与用法总结。主要介绍了Python字符串内置函数功能与用法,结合实例形式总结分析了Python常见字符串操作函数的功能、分类、使用方法及相关操作注意事项,需要的朋友可以参考下[^1]。 引用:python string内置函数表格。string.replace(str1, str2, num=string.count(str1)) [^2]。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值