python入门牛刀小试03

# 1、百钱买百鸡的问题算是一套非常经典的不定方程的问题,题目很简单:
# 公鸡5文钱一只,母鸡3文钱一只,小鸡3只一文钱,
# 用100文钱买一百只(x)鸡, 其中公鸡,母鸡,小鸡都必须要有,问公鸡,母鸡,小鸡要买多少只刚好凑足100文钱。
def chicken():
    for x in range(1,20): #公鸡不能超过20只:5 * 20 = 100
        for y in range(1,33):
            if 5*x+3*y+(100-x-y)/3 == 100:
                print("公鸡%s,母鸡%s,小鸡%s"%(x,y,100-x-y))
chicken()
# 2、制作4位字符组成随机验证码4位字符组成,不区分大小写
# 流程:
# - 用户执行程序
# - 给用户显示需要输入的验证码
# - 用户输入的值
# 用户输入的值和显示的值相同时实现正确信息;
# 否则继续生成随机验证码继续等待用户输入
# 生成随机验证码代码示例:
# # (print(chr(97)):输出结果为a)
import random
def fun_code():
    while True:
        code = ""
        for i in range(4):
            code += random.choice("asdfghjklZXCVBqerty0123456789sxcaSCDASax")
        print(code)
        in_code = input("请输入验证码:")
        if in_code.lower() == code.lower():
            print("验证成功")
            break
        else:
            print("验证失败")
fun_code()

#3、使用递归的方式打印九九乘法表
#方法一
def mul9x9(x):
    # 计算打印每一行的内容 x控制的是行
    # 下面这个循环控制的是列
    for i in range(1, x + 1):
        print('%d x %d = %d' % (x, i, x * i), end='\t')
    print()
    # 结束条件是9行
    if x == 9:
        return
    else:
        return mul9x9(x + 1)
mul9x9(1)

#方法二
def get_result(num):
    if num == 1:
        print("1 * 1 = 1")
    else:
        get_result(num - 1)
        for i in range(1, num + 1):
            print("%d * %d = %d" % (i, num, i * num), end="\t")
        print()

get_result(10)
# 4、输入一行字符,分别统计出其中英文字母、空格、数字和其它字符的个数。
# 方法一
string = input("请输入一行字符串:")
dic = {}
for i in string:
    if i in dic:
        dic[i]+=1
    else:
        dic[i]=1
print(dic)
# 方法二
string = input("请输入一行字符串:")
flag = 0
for i in string:
    if string.count(i,flag) == string.count(i):
        print(i,string.count(i,flag))
        flag+=1
#方法三
print("请输入一行字符:")
str01 = input()
digit_mum = 0
string_num = 0
space_num = 0
other_num = 0
for s in str01:
    if s.isdigit():
        digit_mum += 1
    elif s.isalpha():
        string_num += 1
    elif s.isspace():
        space_num += 1
    else:
        other_num += 1
print("其中英文字母%d个、空格%d个、数字%d个、其它字符%d个" % (string_num, space_num, digit_mum, other_num))

猜你喜欢

转载自blog.csdn.net/qq_42336700/article/details/81269692