DAY7-作业

题目一,编写一个函数,求1+2+3+...+n的和

代码实现:

# 声明一个函数
def sum_n(n):
    sum = 0
    for i in range(1,n+1):
        sum += i
    print('从1~%d的和是%d:'  %(n, sum))

# 调用函数
sum_n(100)

输出结果:

从1~100的和是:5050

题目二,

代码实现;

#方法1:
def my_max1(*number):
    print('最大值是:'max(number))

#方法二:
def my_max2(*number):
    i = number[0]
    for j in number:
        if i < j:
            i = j
    print('最大值是:',i)

my_max1(1, 4, 5, 3, 9)
my_max2(1, 4, 5, 3, 9)

输出结果:

最大值是:9
最大值是:9

题目三,实现摇骰子的功能,打印N个点数的点数和

代码实现:

import random
def sum_dice(n):
    sum_d = 0
    i = 0
    while n:
        number = random.randint(1, 6)
        i += 1
        print('第%d次投出的数是%d:' % (i, number))
        n -= 1
        sum_d += number
    print("=================")
    print('投掷%d次的总点数是%d:' % (i, sum_d))
sum_dice(5)

输出结果:

第1次投出的数是:3
第2次投出的数是:1
第3次投出的数是:2
第4次投出的数是:1
第5次投出的数是:6
=================
投掷5次的总点数是:13

题目四,

代码实现:

def average_nums(*nums, sum_nums=0, counts=0):
    for i in nums:
        sum_nums += i
        counts += 1
    print('一共有%d个数相加'%counts)
    print('%d个数相加的和是%d:' % (counts, sum_nums))
    average = sum_nums / counts
    print('平均值是%d' % average)


average_nums(1, 2, 3, 4, 5)

输出结果:

一共有5个数相加
5个数相加的和是15:
平均值是3

题目五,

代码实现:

def fact_num(n=10):
    i = n-1
    count = 1
    while i > 0:
        count += 1
        t = n * i
        n = t
        i -= 1
    print('%d的阶乘是:%d' % (count,n))


fact_num(5)

输出结果:

5的阶乘是:120

题目六,

代码实现:

def purify(str1):
    # 将字符串转换成列表
    str2 = list(str1)
    # 声明一个空字符串
    str3 = ''
    for i in str2:
        # 将字符串中索引的i在a~z和A~Z中对比
        if 'a' <= i <= 'z' or 'A' <= i <= 'Z':
            # 拼接字符串
            str3 += i
    print('筛选后的字符串为:',str3)

purify('aE4-712*FhsHa')

输出结果:

筛选后的字符串为: aEFhsHa
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容