python 函数练习题

1、定义函数,完成两个数加减乘除的计算 提示:def cal(num1,num2,opr): return result

def cal(num1,num2,opr):
    if num1 < num2:
        num1,num2=num2,num1
    if opr == "+":
        return num1+num2
    elif opr == "-":
        return num1 - num2
    elif opr =="*":
        return num1*num2
    elif opr == "/":
        return num1/num2

num1,num2 = map(int,input("请输入二个数:").split())
opr = input("请输入符号:")
rt = cal(num1,num2,opr)
print(f"{num1}{opr}{num2}={rt}")

2、定义函数,计算矩形的周长和面积

def  sc(width,height):
    print("周长:",(width+height)*2)

    print("面积:",width*height)
sc(10,20)

3、定义函数,从文件名中获取后缀,如e:/project/demo/homework.py获取的后缀.py

str = "e:/project/demo/homework.py"
str = input("文件名:")
def name(s):
    num = s.rindex(".")
    str1 = s[num:]
    return str1
print(name(str))

4、定义函数,从请求地址中提取出域名 如http://www.qqzone.com?qqid=270808123&pwd=111111,域名为www.qqzone.com

s = "http://www.qqzone.com?qqid=270808123&pwd=111111"
def select(str):
    num = str.index("www")
    num2 = str.index("com")
    return str[num:num2+3]

print(select(s))

5、定义函数,判断邮箱格式是否正确,校验规则:邮箱中必须包含@符号

str = input("邮箱号:")
def check(s):
    try:
        return s.index("@")
    except:
        return -1
num = check(str)
if num != -1:
    print("格式正确")
else:
    print("格式错误")

6、定义函数,统计一个列表中各个字符出现的次数

d = {}
dict = {}
str = "ssssssssjjjjjjjhhhhhhhhh44444"
#1.
def countchr(s):
    for i in s:
        d[i] = s.count(i)
    for key, value in d.items():
        print(f"字符{key}出现的次数:", value)
countchr(str)
#2.
for i in str:
	#如果存在就加0,不存在就加1
    dict[i] = dict.get(i, 0) + 1
print(dict)

7、定义函数,判断一个列表中是否有4个连续相同的数

ls = [1,2,2,2,2,4,5,7,8,9,8,8,8,8,8,6,66,6,6,6,6,]
s =set()
def count(l):
    for i in range(len(l)):
        a = 0
        if l.count(l[i]) < 4 or len(l[i:])<5:
            continue
        else:
            for j in range(i,i+4):
                if l[i] == l[j]:
                    a = 1
                else:
                    a = 0
                    break
            if a == 1:
                s.add(l[i])

count(ls)
print(s)

8、定义函数,对整数列表数据按奇偶排序,偶数在前,奇数在后 示例: 输入:[3,1,2,4] 输出:[2,4,3,1] 输出 [4,2,3,1],[2,4,1,3] 和 [4,2,1,3] 也会被接受。

ls = [3,1,2,4]
#1.
def sort1(A):
    """
        A is a list
    """

    return sorted(A, key=lambda x: x % 2)

print(sort1(ls))

#2.
def sort2(ls):
    """
    ls is a list
    """
    even = []
    odd = []
    for i in range(len(ls)):
        if ls[i] % 2 == 0:
            even.append(ls[i])
        else:
            odd.append(ls[i])
    return even + odd

print(sort2(ls))

9、输出前100个回文素数,且每10个换行 提示:定义函数,判断一个数是否是回文数 定义函数,判断一个数是否是素数

def shu(n):
    for i in range(2, n):
        if n % i == 0:
            return False

    return True

def h(x):
    str1 = str(x)

    if str1 == str1[::-1]:
        return True
    else:
        return False

sum = 0
for i in range(1,10000):
    if shu(i) and h(i):
        print(i,end="     ")
        sum += 1
        if sum % 10 == 0:
            print()
        elif sum == 100:
            break
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小时候不乖的

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值