一些基于Python 3.7.4的小程序

函数里面有个括号用来传参,所以输入完括号后会提示应该输入哪种属性的数据,这里我写的num1,num2…当函数内的程序长了,使用不方便,所以以下的参数名字较长,重复代码较多的,我都进行了赋值,方便代码的编写


经常碰到的函数问题 (不让用print,所以全部都是return结尾)
def是函数标志,行内称为方法,后面跟函数名,接跟圆括号(),()里面的变量称为参数.
可以使用默认值,但是只允许从()里面最后一个参数定义默认值(调用方法的时候,没有输入这个值,比如2D绘图中pygame模块里面的width = 1设置一个图形的默认宽度常用)并且带缩进

def Myinformation(name,age,tel):
    if...

带默认值的参数

def Myinformation(name,age,tel=12345678901):
    for...

List:
#1.比较两个整数的大小,并返回较小的整数
#2.比较三个整数的大小,并返回较小的整数
#3.将两个字符串连接
#4.返回一个列表小于5的值然后输出
#5.银行计算利率,返回存款
#6.定义一个函数max,参数为list,返回list中的最大值
#7.输出一个列表有多少项
#8.定义函数sum,返回列表各项的和
#9.传入一个n,计算S = n!
#1.比较两个整数的大小,并返回较小的整数
def Comparison_2(num1, num2):
    a = num1
    b = num2
    if a > b:
        min = b
    elif a < b:
        min = a
    else:
        min = a
    return min

参考#3.1 3.2的使用方法

#2.比较三个整数的大小,并返回较小的整数
def Comparison_3(num1, num2, num3):
    a = num1
    b = num2
    c = num3
    if a > b:
        min = b
    elif a <= b:
        min = a
        if min > c:
            min = c
        elif min <= c:
            min = min
    else:
        min = a
    return min

#参考#3.1 3.2的使用方法

和两个数的用法一样的

#3.将两个字符串连接

#这里需要注意的是,函数里面,必须进行输入的格式化处理,否则若输入两个数字,结果是两个数字相加的和,若输入的一个是数字,一个是字符串,就会报错

def StrConnection(String1, String2):
    result = str(String1) + str(String2)
    return result

有两种方式使用这个函数:
3.1使用input,代码如下:

a = input('请输入第一个字符: ')
b = input('请输入第二个字符: ')
str = StrConnection(a, b)
print(str)

运行结果:
一些基于Python 3.7.4的小程序_第1张图片

3.2直接套用,代码如下:

print(Comparison_2('ewqreq', '674jshj走'))

运行结果:
在这里插入图片描述

#4.返回一个列表小于5的值输出
#返回小于5的值输出
def strOutput(String):
    for i in str(String):
        if len(str(String)) < 5:
            return '少于5个字符'
        else:
            return str(String)[0:5]
#5.银行存钱计算利率,返回存款

这里我开始想多了,So…就出现了一下的公式
seal = money + (money * 0.03) # n= 1 year
seal = money + ((money * 0.03) + money) * 0.03 # n= 2
sael = money + (((money * 0.03) + money) * 0.03) * 0.03 # n= 3

#银行计算利率,返回存款
def bankRate(money, year):
    y = year
    while y > 0:
        money = money*1.03
        y = y - 1
    print(money)
print(bankRate(6000,3))

定义money=6000
#6180.0
#6365.400000000001
#6556.362000000001
在这里插入图片描述
以下会用到这个列表,因为,后面涉及到数学计算,so全是int数字,随便按的…

list = [2, 378, 45, 32, 32, 10, 87, 378, 0, 6, 43634, 450]
#6.定义一个函数max,参数为list,返回list中的最大值

这里使用了冒泡的写法,for语句更容易理解(如果大的往右边排列,更换以下代码第四行为大于号(>)就可以了)

#定义一个函数max,参数为list,返回list中的最大值
def max(list):
    for i in range(len(list)-1):
        for j in range((len(list)-1)-i):
            if list[j] < list[j+1]:         #大的数往左边靠,返回第一个最大的数
                list[j], list[j+1] = list[j+1], list[j]
    return list[0]  #输出数列第一个字符 []为从0开始计数

运行结果:
在这里插入图片描述
如果是要求排列,改为(这个max是函数名,是自定义的,可以随便,但是调用时也变了)

def pai_lie(list):
    for i in range(len(list)-1):
        for j in range((len(list)-1)-i):
            if list[j] < list[j+1]:         #大的靠左
                list[j], list[j+1] = list[j+1], list[j]
    return list
print(pai_lie(list))

运行结果:
在这里插入图片描述

#7.输出一个列表有多少项

突发奇想…

list = [2, 378, 45, 32, 32, 10, 87, 378, 0, 6, 43634, 450]
def how_many_lie(list):
    for n in range(len(list)):
        if n >= 0:
            None
    return n+1

运行结果:

#8.定义函数sum,返回列表各项的和
def sum(list):
    s = 0
    for i in range(len(list)):
        s = s + list[i]
    # for n in list:            #第二种写法
    #     s = s + n
    return s

在这里插入图片描述

#9.传入一个n,计算S = n!
def S_nl(n):
    m = 1
    r = 1
    if n < 0:
        return '输入有误!!!'
    elif n == 0:
        return 0
    else:
        while m <= n:
            r = r * m
            S = r
            m += 1
        return S

初始值r = 0,如果不重新赋值,那么最后return = 0
这里输出的是最后的值,所以return 放在跳出while循环的位置就行,例如:

print(S_nl(10))

实际运行结果:

若有错误,请欢迎大家在下方指出,谢谢—

你可能感兴趣的:(Python3)