本文目录一览:
- 1、python基本运算包括
- 2、Python文件操作,看这篇就足够!
- 3、python入门问题,关于货币面值最少的组合。
python基本运算包括
Python 的基本运算有 +(加)-(减)*(乘)/(除)//(整除)%(求余)
Python 运算符的用法非常符合我们日常的习惯,在此不赘述,以下主要举一些例子加深印象以及列出几个注意点:
1.Python 在整数和浮点数运算时,自动将整数隐式转换成浮点数
2.在除法时,将结果作为浮点数保留(至少小数点后1位)
3.幂乘用两个星号表示
如
2**3
8
2-1
1
4.除后取整运算符//
15//2
7
5.除后取余%
4%3
0.3333333333333333(小数点后最多16位)
6.还可以原地修改运算符
+= -= *= %= /=
x*=3
x=x*3
7.还可以用于修改字符串
8.在Python中 整数是一种不可变类型,创建后值不能改变,不能自增自减如x++
9.值与操作符间可以添加任意多个空格
Python文件操作,看这篇就足够!
文件的存储方式
在计算机中,文件是以二进制的方式保存在磁盘上的文本文件和二进制文件
文本文件可以使用文本编辑软件查看本质上还是二进制文件
二进制文件保存的内容不是给人直接阅读的,而是提供给其她软件使用的二进制文件不能使用文件编辑软件查看
文件基本操作
在计算机中要操作文件一共包含三个步骤:1.打开文件2.读、写文件
读 将文件内容读入内容写 将内存内容写入文件
模式描述
t文本模式 (默认)。
x写模式,新建一个文件,如果该文件已存在则会报错。
b二进制模式。
+打开一个文件进行更新(可读可写)。
U通用换行模式(不推荐)。
r以只读方式打开文件。文件的指针将会放在文件的开头。这是默认模式。
rb以二进制格式打开一个文件用于只读。文件指针将会放在文件的开头。这是默认模式。一般用于非文本文件如图片等。
r+打开一个文件用于读写。文件指针将会放在文件的开头。
rb+以二进制格式打开一个文件用于读写。文件指针将会放在文件的开头。一般用于非文本文件如图片等。
w打开一个文件只用于写入。如果该文件已存在则打开文件,并从开头开始编辑,即原有内容会被删除。如果该文件不存在,创建新文件。
wb以二进制格式打开一个文件只用于写入。如果该文件已存在则打开文件,并从开头开始编辑,即原有内容会被删除。如果该文件不存在,创建新文件。一般用于非文本文件如图片等。
w+打开一个文件用于读写。如果该文件已存在则打开文件,并从开头开始编辑,即原有内容会被删除。如果该文件不存在,创建新文件。
wb+以二进制格式打开一个文件用于读写。如果该文件已存在则打开文件,并从开头开始编辑,即原有内容会被删除。如果该文件不存在,创建新文件。一般用于非文本文件如图片等。
a打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。也就是说,新的内容将会被写入到已有内容之后。如果该文件不存在,创建新文件进行写入。
ab以二进制格式打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。也就是说,新的内容将会被写入到已有内容之后。如果该文件不存在,创建新文件进行写入。
a+打开一个文件用于读写。如果该文件已存在,文件指针将会放在文件的结尾。文件打开时会是追加模式。如果该文件不存在,创建新文件用于读写。
ab+以二进制格式打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。如果该文件不存在,创建新文件用于读写。
文件打开模式有很多,但是我们实际用到的就只有六种。
我们总结一下主要用到的是下面六种
模式可做操作若文件不存在是否覆盖文件原来内容
r只读报错——
r+可读、可写报错是
w只写创建是
w+可读、可写创建是
a只写创建否,追加写
a+可读、可写创建否,追加写
只读模式打开文件——只读(r)
文件若不存在报错:
读写模式打开文件——读写模式(r+)
数据写入之前:
数据写入之后:
会替换掉相同长度的内容
文件若不存在报错:
写模式打开文件——写模式(w)
数据写入之前:
数据写入之后:
这种操作会删除原来的文件内容,重新写入Python,
并且把光标放在文件最开始。
若文件不存在,系统会创建该文件夹并重新写入内容
读写模式打开文件——读写模式(w+)
数据写入之前:
数据写入之后:
这种操作会删除原来的文件内容,重新写入Python,
并且把光标放在文件最开始。
若文件不存在,系统会创建该文件夹并重新写入内容
利用这个原理所以文件写模式(w)、读写模式(w+)还可以用作删除文件内容。
因为他们整个工作原理就是把文件原来的内容删除,然后写入新的内容。
如果我们写入的内容为空,那么不就是删除文件内容。
数据写入之前:
数据写入之后:
写模式打开文件(追加内容)——写模式(a)
数据写入之前:
数据写入之后:
可以看到是在原先内容的基础上在文末追加新的内容!
若文件不存在,系统会创建新的文件夹并写入内容
读写模式打开文件(追加内容)——读写模式(a)
数据写入之前:
数据写入之后:
可以看到是在原先内容的基础上在文末追加新的内容!
若文件不存在,系统会创建新的文件夹并写入内容
二进制模式打开文件
我们看到了在文件打开模式中有以下模式:rb、wb……有这种带 b 的。
什么意思呢?
就是用二进制的方式打开文件。
很明显,我们出现了以下错误:
主要原因是因为编码的问题,可能是因为0x82这个字节在gbk编码中没有这个字符,
可能原字符是两个字节,在gbk里被解析成了一个字节,导致字符不存在。
这就是我们文件打开方式需要使用二进制读取的原因。
文件操作
open 函数负责打开文件,并且返回文件对象
read /write / close 三个方法都需要通过文件对象 来调用
文件和文件夹的操作
在Python中⽂件和⽂件夹的操作要借助os模块⾥⾯的相关功能,
具体步骤如下:
导⼊os模块
使⽤ os 模块相关功能
1、文件重命名
2、删除文件
3、创建文件夹
4、删除文件夹
5、获取当前目录
6、改变默认目录
7、获取目录列表
python入门问题,关于货币面值最少的组合。
不知道有没有数学模型,总之计算机的优势就是可以穷举吧。
递归的列出所有的组合,然后看看谁最少。。。
可以优化一下,就是把前面计算的结果写到一个数据字典里面,然后直接提取出来。
...
for i in n:
print i, '--', getMin(i, "", cache)
--------------------
1 -- (1, ',1')
2 -- (2, ',1,1')
3 -- (3, ',1,1,1')
4 -- (4, ',1,1,1,1')
5 -- (1, ',5')
6 -- (2, ',5,1')
7 -- (3, ',5,1,1')
8 -- (4, ',5,1,1,1')
9 -- (5, ',5,1,1,1,1')
10 -- (2, ',5,5')
11 -- (3, ',5,5,1')
12 -- (4, ',5,5,1,1')
13 -- (5, ',5,5,1,1,1')
14 -- (6, ',5,5,1,1,1,1')
15 -- (3, ',5,5,5')
16 -- (1, ',16')
17 -- (2, ',16,1')
18 -- (3, ',16,1,1')
19 -- (4, ',16,1,1,1')
20 -- (4, ',5,5,5,5')
21 -- (2, ',16,5')
22 -- (3, ',16,5,1')
23 -- (1, ',23')
24 -- (2, ',23,1')
25 -- (3, ',23,1,1')
26 -- (3, ',16,5,5')
27 -- (4, ',16,5,5,1')
28 -- (2, ',23,5')
29 -- (3, ',23,5,1')
30 -- (4, ',23,5,1,1')
31 -- (4, ',16,5,5,5')
32 -- (2, ',16,16')
33 -- (1, ',33')
34 -- (2, ',33,1')
35 -- (3, ',33,1,1')
36 -- (4, ',33,1,1,1')
37 -- (3, ',16,16,5')
38 -- (2, ',33,5')
39 -- (2, ',16,23')
40 -- (3, ',16,23,1')
41 -- (4, ',16,23,1,1')
42 -- (4, ',16,16,5,5')
43 -- (3, ',33,5,5')
44 -- (3, ',16,23,5')
45 -- (4, ',16,23,5,1')
46 -- (2, ',23,23')
47 -- (3, ',23,23,1')
48 -- (3, ',16,16,16')
49 -- (2, ',16,33')
50 -- (3, ',16,33,1')
51 -- (3, ',23,23,5')
52 -- (4, ',23,23,5,1')
53 -- (4, ',16,16,16,5')
54 -- (3, ',16,33,5')
55 -- (3, ',16,16,23')
56 -- (2, ',23,33')
57 -- (3, ',23,33,1')
58 -- (4, ',23,33,1,1')
59 -- (4, ',16,33,5,5')
60 -- (4, ',16,16,23,5')
61 -- (3, ',23,33,5')
62 -- (3, ',16,23,23')
63 -- (4, ',16,23,23,1')
64 -- (4, ',16,16,16,16')
65 -- (3, ',16,16,33')
66 -- (2, ',33,33')
67 -- (3, ',33,33,1')
68 -- (4, ',33,33,1,1')
69 -- (3, ',23,23,23')
70 -- (4, ',16,16,33,5')
71 -- (3, ',33,33,5')
72 -- (3, ',16,23,33')
73 -- (4, ',16,23,33,1')
74 -- (4, ',23,23,23,5')
75 -- (5, ',16,16,33,5,5')
76 -- (4, ',33,33,5,5')
77 -- (4, ',16,23,33,5')
78 -- (4, ',16,16,23,23')
79 -- (3, ',23,23,33')
80 -- (4, ',23,23,33,1')
81 -- (4, ',16,16,16,33')
82 -- (3, ',16,33,33')
83 -- (4, ',16,33,33,1')
84 -- (4, ',23,23,33,5')
85 -- (4, ',16,23,23,23')
86 -- (5, ',16,16,16,33,5')
87 -- (4, ',16,33,33,5')
88 -- (4, ',16,16,23,33')
89 -- (3, ',23,33,33')
90 -- (4, ',23,33,33,1')
91 -- (5, ',23,33,33,1,1')
92 -- (4, ',23,23,23,23')
93 -- (5, ',16,16,23,33,5')
94 -- (4, ',23,33,33,5')
95 -- (4, ',16,23,23,33')
96 -- (5, ',16,23,23,33,1')
97 -- (5, ',16,16,16,16,33')
98 -- (4, ',16,16,33,33')
99 -- (3, ',33,33,33')