学习python的第四天

时间:2021-08-28 20:51:09
#去掉全部空格
def P():
    a =' 1 2 3 4 5 '
    b=a.replace(" ","")
    print(b)
P()

#python中可测长度都为len()

#修改
a=[1,2,3]
a[0]=100

#插入
a=[1,2,3]
a.append(100)

#列表中可以表示任何东西,可以循环

#去掉重复的数字
a = [1,2,3,3,4,2,3,4,5,6,1]
b = []
for i in a:
    if i not in b:
        b.append(i)
print(b)

#进度条

import time
 
class Index(object):
    def __init__(self, number=50, decimal=2):
        """
        :param decimal: 你保留的保留小数位
        :param number: # 号的 个数
        """
        self.decimal = decimal
        self.number = number
        self.a = 100/number   # 在百分比 为几时增加一个 # 号
 
    def __call__(self, now, total):
        # 1. 获取当前的百分比数
        percentage = self.percentage_number(now, total)
 
        # 2. 根据 现在百分比计算
        well_num = int(percentage / self.a)
        # print("well_num: ", well_num, percentage)
 
        # 3. 打印字符进度条
        progress_bar_num = self.progress_bar(well_num)
 
        # 4. 完成的进度条
        result = "\r%s %s" % (progress_bar_num, percentage)
        return result
 
    def percentage_number(self, now, total):
        """
        计算百分比
        :param now:  现在的数
        :param total:  总数
        :return: 百分
        """
        return round(now / total * 100, self.decimal)
 
    def progress_bar(self, num):
        """
        显示进度条位置
        :param num:  拼接的  “#” 号的
        :return: 返回的结果当前的进度条
        """
        # 1. "#" 号个数
        well_num = "#" * num
 
        # 2. 空格的个数
        space_num = " " * (self.number - num)
 
        return '[%s%s]' % (well_num, space_num)
 
index = Index()
 
start = 371
for i in range(start + 1):
    print(index(i, start), end='')
    time.sleep(0.01)
    # \r 返回本行开头
    # end : python 结尾不加任何操作, 默认是空格       

#简单的进度条:
import time
for i in range(1,101):
    time.sleep(1)
    print('%s %d%%\r'%('#'*i,i),end="",flush=True)

#排序默认升序
a=[2,1,4,3,6,7.10]
print(sorted(a))
#降序
print(sorted(a,reverse=True))

#冒泡排序
def bubbleSort(arr):
    n = len(arr)
 
    # 遍历所有数组元素
    for i in range(n):
 
        # Last i elements are already in place
        for j in range(0, n-i-1):
 
            if arr[j] > arr[j+1] :
                arr[j], arr[j+1] = arr[j+1], arr[j]
 
arr = [64, 34, 25, 12, 22, 11, 90]
 
bubbleSort(arr)
 
print ("排序后的数组:")
for i in range(len(arr)):
    print ("%d" %arr[i])

#按后面的数字排序
list1=[['li',100],['ni',90],['ch',120],['huo',70]]
print(sorted(list1,key=lambda x:x[1]))

#简写的语法
f=[x for x in range(100) if x%2==0]
  [3] [        1       ] [    2   ]
print(f)

#元组 不可以修改 可相加相乘
#字典的一切操作都是通过键名操作键值!!!!
a={1:100,1.0:10,'key':'value','list':[1,2,3],
'tuple':(1,2,3),'set':{1,2,3}}

dict_={1:100,'liyuan':'value'}

print(dict_[1])#这里的1 是键名
#字典是无需的,没有索引操作,除非是有序字典
#当字典动态变化的时候用get方法
print(dict_.get())

path='D:\\Classes_.txt'
open_=open(path,mode='r',encoding='utf8')
lines=open_.readlines()
dict_={}

for str_ in lines:
    str_1=str_.strip('\n')
    key,value=str_1.split(' ')
    dict_[key]=value

num=input('》》')
value=dict_[num]
print(value)