python期中测试

生成密码/验证码
思路:
1、设置一个用于随机取出字符的基础字符串,本例使用大小写字母加数字
2、循环n次,每次随机取出一个字符
3、将各个字符拼接起来,保存到变量result中

代码如下:

from random import choice
import string

all_chs = string.ascii_letters + string.digits  # 大小写字母加数字


def gen_pass(n=8):
    result = ''

    for i in range(n):
        ch = choice(all_chs)
        result += ch
    return result


if __name__ == '__main__':
    print(gen_pass())
    print(gen_pass(4))
    print(gen_pass(10))
输入某年某月某日,判断这一天是这一年的第几天?
思路:
1.程序分析:以3月5日为例,应该先把前两个月的加起来,然后再加上5天即本年的第几天,特殊

情况,闰年且输入月份大于3时需考虑多加一天。
"""
'''输入某年某月某日,判断这一天是这一年的第几天?'''

代码如下:

run_dict = {1: 31, 2: 29, 3: 31, 4: 30, 5: 31, 6: 30, 7: 31, 8: 31, 9: 30, 10: 31, 11: 30, 12: 31}
ping_dict = {1: 31, 2: 28, 3: 31, 4: 30, 5: 31, 6: 30, 7: 31, 8: 31, 9: 30, 10: 31, 11: 30, 12: 31}
year = int(input("请输入年份:"))
month = int(input("请输入月份:"))
date = int(input("请输入日期:"))

sum = 0
if (year % 400 == 0) or ((year % 400 == 0)) and (year % 100 != 0):
    for i in range(1, month):
            sum = sum + run_dict[i]
    print("这一天是{}的第{}天".format(year, sum + date))
else:
    for i in range(1, month):
        sum = sum + ping_dict[i]
    print("这一天是{}的第{}天".format(year, sum + date))
邮件地址切片器

目的:编写一个Python脚本,可以从邮件地址中获取用户名和域名。

提示:使用@作为分隔符,将地址分为分为两个字符串。

代码如下:

email = input("what is your email adress?:").strip()
username=email[:email.index("@")]
localname=email[email.index("@")+1:]
res=f"你的用户名为:'{username}' 你的域名为:'{localname}'"
print(res)
猜数字游戏

目的:在这个游戏中,任务是创建一个脚本,能够在一个范围内生成一个随机数。如果用户在三次机会中猜对了数字,那么用户赢得游戏,否则用户输。

提示:生成一个随机数,然后使用循环给用户三次猜测机会,根据用户的猜测打印最终的结果。

代码如下:

import random

num = random.randint(1, 10)
for i in range(0, 3):
    a = int(input("请开始猜数字"))
    if a == num:
        print("恭喜你猜对了!", {num})
    elif a > num:
        print("你猜大了")
    elif a < num:
        print("你猜小了")
    else:
        print("不是这个数,这个数是:", {num})

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值