170114

1625-5    王子昂    总结《2016年1月14日》  【连续第106天总结】

A. python一节 100%

B. 今天从昨天看的数字一章的练习中挑了两个做,分别是

取余。给定一个任意小于1美元的金额,然后计算可以换成最少多少枚硬币。

随机数,生成一个有N个元素的由随机数n组成的列表,然后随机取N个随机数出来对它们排序,再显示这个子集。

python的语法跟C++区别还是蛮大的,从最开始的'/'代表真正除法(会有小数),而'//'代表整除(即地板除,去尾法)

到不需要分号而只需要用缩进来代表结构,以及if和while后面都要有冒号(这点我已经忘记无数次了)

print在显示字符串的时候可以使用str(x)将数字转换成字符串然后用'+'拼接起来,也可以用%d%s%r等占位符来显示数字

注意:python2.7中print加不加括号都是可以的,但在python3里必须加括号。为了以后换3时减少麻烦,所以从现在就开始加吧!

python中的Print默认是带换行的,取消这项功能的方法是在语句最后加上一个',',注意不是在引号内,而是在引号外加。不要问我为什么知道_(:з」∠)_

PyCharm中使用中文需要在第一行或第二行前加上#encoding:utf-8,否则会报错╮(╯_╰)╭

#!/usr/bin/python
#encoding:utf-8

total=1.00
print("请输入一个小于1美元的金额\n")
while(total>=1):
    try:
        total=float(raw_input())
        if total>=1:
            print("请输入一个小于1美元的金额\n")
    except:
        print("请输入一个小于1美元的金额\n")
total*=100
tf=total//25
t=(total%25)//10
o=total%25%10
print("最小的硬币数为%d"%(tf+t+o))
if tf!=0:
    print ("%d枚25美分\t"%(tf))
if t!=0:
    print ("%d枚10美分\t"%t)
if o!=0:
    print ("%d枚1美分\t"%(o))

随机数的要点是加上random模块,并使用其中提供的大量随机数函数

模块,相当于C++中的头文件,使用import声明

但是注意自己写的文件不要与官方模块同名,造成歧义……

在python中因为不像C++中区分头文件和源代码(.h 和.cpp),而是同样为.py

我刚开始给本文件就命名为random,结果在使用random模块的时候看来出现歧义了,randint等函数死活用不了╮(╯_╰)╭

最后发现路径好像有点不对,给文件重命名以后就好了

注意调用模块中的函数时要加上模块名称,以示区分,如 random.randint()

转换函数float的时候,如果输入的是字符,python会报错无法转换而不是自动根据ASCII码进行转换,因为使用try...except来捕捉异常

虽然说在Python中变量使用前无需声明,但是列表似乎还是要声明的……即使是a=[],然后在使用时append方法动态添加元素

下一章才是列表╮(╯_╰)╭写完这个习题再看

代码如下:

#!/usr/bin/python
#encoding:utf-8
import random
N=random.randint(1,100)
print "一共有%d个数字"%N
r=[]
for i in range(N):
    r.append(random.randint(0,2**31-1))
N=random.randint(1,N)
print "一共取了%d个数字出来"%N
a=[]
for i in range(N):
    a.append(random.choice(r))
for i in range(1,N):
    min=i
    for j in range(i,N):
        if a[j]<a[min]:
            min=j
            temp=a[min]
            a[min]=a[i]
            a[i]=temp
    print a[i],
 


学习字符串的稍微系统的了解了一点UTF-8和ASCII码的区别

ASCII码用一个字节存储所有字符,因此只包含了233个字符,对于英文而言够用,但中文标示完全不可能,因此引入了Unicode

Unicode用1~4个字节表示其他语言的字符,同时支持ASCII,这样可以让很多情况得到兼容无需改变。

东亚字节一般用3个字节表示,少用的特殊的或历史遗留的则用4个字节来表示

python中使用的时候要先用#encoding:utf-8 来声明

但是当写好程序的时候,添加Unicode码支持需要改动极大

string模块和str()、chr()函数需要全部改动为unicode()、unichr(),但是这样一来就无法使用pickle模块

所有字符串使用时要加个前缀u,大部分模块支持unicode,除了Pickle模块

一定要使用pickle时,需要将数据转换为二进制形式

在第三方模块中使用Unicode时需要格外注意,因为它还并不是必须的规定

例如数据库服务器、适配器。web开放框架等等辅助系统,有的需要打补丁,有的需要额外设置


总之,使程序完全支持unicode是一项需要详细考虑,综合全局的工程。


在python中没有字符,只有字符串。单个字符是长度为1的字符串。字符串也是序列,可以用切片操作符得到单个字符。

可以用三引号来包含跨行和含有大量转义字符而不需转义的字符串

字符串结尾不是NULL和\0

r/R前缀可以使特殊字符串转换为原始字符串,即不存在转义字符的字符串


C. 明日计划

python好多啊_(:з」∠)_要学好久,加油

明天两节,把序列看完



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
目标检测(Object Detection)是计算机视觉领域的一个核心问题,其主要任务是找出图像中所有感兴趣的目标(物体),并确定它们的类别和位置。以下是对目标检测的详细阐述: 一、基本概念 目标检测的任务是解决“在哪里?是什么?”的问题,即定位出图像中目标的位置并识别出目标的类别。由于各类物体具有不同的外观、形状和姿态,加上成像时光照、遮挡等因素的干扰,目标检测一直是计算机视觉领域最具挑战性的任务之一。 二、核心问题 目标检测涉及以下几个核心问题: 分类问题:判断图像中的目标属于哪个类别。 定位问题:确定目标在图像中的具体位置。 大小问题:目标可能具有不同的大小。 形状问题:目标可能具有不同的形状。 三、算法分类 基于深度学习的目标检测算法主要分为两大类: Two-stage算法:先进行区域生成(Region Proposal),生成有可能包含待检物体的预选框(Region Proposal),再通过卷积神经网络进行样本分类。常见的Two-stage算法包括R-CNN、Fast R-CNN、Faster R-CNN等。 One-stage算法:不用生成区域提议,直接在网络中提特征来预测物体分类和位置。常见的One-stage算法包括YOLO系列(YOLOv1、YOLOv2、YOLOv3、YOLOv4、YOLOv5等)、SSD和RetinaNet等。 四、算法原理 以YOLO系列为例,YOLO将目标检测视为回归问题,将输入图像一次性划分为多个区域,直接在输出层预测边界框和类别概率。YOLO采用卷积网络来提特征,使用全连接层来得到预测值。其网络结构通常包含多个卷积层和全连接层,通过卷积层提图像特征,通过全连接层输出预测结果。 五、应用领域 目标检测技术已经广泛应用于各个领域,为人们的生活带来了极大的便利。以下是一些主要的应用领域: 安全监控:在商场、银行
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值