Python学习

目录

一、初识python

1.Python的特点

2.Python 运行机制

3.编译型和解释型语言的优缺点

二、基础知识

1.输入输出

2.变量

三、列表

1.列表常见操作

2.利用列表,用冒泡排序算法,实现列表元素从小到大的排列。

 四、函数

1.创建和使用

2.利用函数实现二分查找

3.利用函数实现二进制到十进制的转换


一、初识python

1.Python的特点

      Python的特点主要有语法简洁、类库强大、胶水语言(调用其他语言的类库)、代码量较少等特点。

2.Python 运行机制

       经过一定的对计算机语言的学习,我们认识到程序运行主要有两种机制:编译型和解释型。编译型是将代码(源文件)通过编译器,编译成机器码文件,当运行的时候直接执行机器码文件,例如C语言;解释型是将源文件通过解释器,逐行进行翻译并运行,即我们学习的python。

3.编译型和解释型语言的优缺点

解释型:
1.缺点:执行慢
2.优点:可以跨平台(操作系统)

编译型:
1.缺点:不能跨平台
2.优点:执行快

二、基础知识

1.输入输出

    python可直接打印输出想输出的内容,方便快捷。

input("输入")
若想使输入保证为字符可在input前写入“eval”;
eval(input())

print("请输入想输出的内容")  

2.变量

      变量就是一个名字,需要先赋值在使用,变量要符合标识符(名字)的命名规范,这是硬性要求,标识符相当于名字,包括变量名、函数名、类名等等,

(1)标识符的命名规则

        1.合法的标识符:字母,数字(不能开头),下划线。
        2.大小写敏感。
        3.不能使用关键字,如if,while,import等等。

三、列表

1.列表常见操作

在这里插入图片描述

2.利用列表,用冒泡排序算法,实现列表元素从小到大的排列。

a = eval(input())
b = eval(input())
def merge(a,b):
    List = []  #创建一个空列表
    c = a+b   #将两个输入的字符串合并
    for k in c:
        List.append(k)   #遍历加入空列表
    count = len(List)
    for i in range(count):
        for j in range(i+1,count):   #每次循环将第一个元素与其之后的每个元素比较
            if List[i] > List[j]:   #从小到大排列
                List[i],List[j] = List[j],List[i]
    print(List)

merge(a,b)

运行结果:

 四、函数

函数是由一组代码组成,完成某个特定的功能。

1.创建和使用

    创建函数的语法如下:

def 函数名(参数): 
	代码块(函数的实现/函数体)

2.利用函数实现二分查找

a = sorted(eval(input()))  #sorted函数对输入的元素按从小到大排序
b = int(input())  #输入要查找的元素
print(a)

def binary_search(a, b):
    left = 0
    right = len(a)
    mid = int((left + right) / 2)
    while left < right:
        if a[mid] == b:
            return mid+1
        elif a[mid] > b:
            right = mid
        else:
            left = mid
        mid = int((right + left) / 2)
    return False

if binary_search(a, b) is False:
    print('not find')
else:
    print('{} {}'.format(b, binary_search(a, b)))  #输出要查找的元素,并且显示其下标值

运行结果:

3.利用函数实现二进制到十进制的转换

def Bin_to_Dec(bin_num):  # 对小数部分的处理

    sum = 0
    List=[]
    for i in str(bin_num):
        List.append(i)
    length = len(List)
    for x in range(length):
        sum += int(List[length-1-x]) * pow(2, x)
    return sum

def bin_to_dec(bin_num):
    if bin_num == int(bin_num):   # 判断是否是整数如果是则直接用函数转换
        b = Bin_to_Dec(bin_num)
        return b
    else:
        a = str(bin_num).split('.')[1]   # 将小数部位提取出来
        b = str(Bin_to_Dec(int(bin_num)))    # 整数部分照样用函数转换
        tem = a
        floa = ""
        List = []
        for i in str(tem):
            List.append(i)
        length = len(List)
        sum=0
        for x in range(length):
                sum += int(List[x]) * pow(2, -(x+1))
        c=str(sum).split('.')[1]
        return b + "." + c

bin_num = eval(input("请输入一个二进制数: "))
dec_num = bin_to_dec(bin_num)
print(dec_num)

运行结果:

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值