第一次学习
第1题:用python对文件进行增(创建一个文件)、删(删除一个文件)、改(重命名)操作;
第一题和文件的操作有关,经过一系列的百度,我找到了自己想要的教程。首先创建一个文件,并且看看的它的名字。
>>> fo=open("hh","w")
>>> print(fo.name)
hh
之后我按照教程去重命名这个文件。
>>> import os
>>> os.rename("hh","haha")
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
PermissionError: [WinError 32] 另一个程序正在使用此文件,进程无法访问。: 'hh' -> 'haha'
发现原来的文件没有关闭,要在关闭后才能重命名。
>>> fo.close()
>>> os.rename("hh","haha")
直到这个时候我还不知道我创建的文件它在哪,然后我在教程中看到了getcwd()方法。
>>> print(os.getcwd())
C:\Users\76962
在这个路径下,我找到了我创建的文件。之后用remove()方法删除文件。
>>> os.remove("haha")
再到之前的目录下看,这个文件就没了。之后我又尝试了用write()方法和read()方法在文件中写内容,并且从文件中读内容。
>>> fo=open("hh.txt","w")
>>> print(fo.name)
hh.txt
>>> fo.write("qwe")
3
>>> fo.close()
>>> fo=open("hh.txt","r+")
>>> str=fo.read(3)
>>> print(str)
qwe
用mkdir()方法创建目录,用chdir()方法改变当前目录。(写了个文件做验证)
>>> os.mkdir("hh")
>>> os.chdir("hh")
>>> fo=open("test.txt","w")
>>> fo.write("hello")
5
>>> fo.close()
>>>
第2题:第一行输入一个整数n代表元素的个数,接下来一行输入n个整数并放到列表中。最后输出排序后的列表(可以用列表自带的方法)
n=int(input("请输入:"))
list1=[]
for i in range(n):
list1.append(int(input()))
list1.sort();
print (list1)
过程中主要遇到的错误就是input()方法输入的东西默认为字符,在这个题目中要用强制类型转换把输入的东西当作整数。还有就是sublime程序在运行的时候,不知道为啥在input里面出不去,最后用命令行运行。
第3题:第一行输入一个整数n代表元素的个数,接下来一行输入n个整数并放到列表中。对输入的列表进行去重后并输出
第一个方法是再建立一个列表2,通过循环将列表1用而列表2没有的元素放入列表2
n=int(input("请输入:"))
list1=[]
for i in range(n):
list1.append(int(input()))
list2=[]
for i in list1:
if i not in list2:
list2.append(i)
print(list2)
后来在网上又发现一种方法,利用集合(set)是一个无序的不重复元素序列的特性,将列表转化为集合再转化为列表。
n=int(input("请输入:"))
list1=[]
for i in range(n):
list1.append(int(input()))
print(list(set(list1)))
第4题:第一行输入一个整数n代表数据数量。接下来n行输入姓名 学号。接下来输入任意数量的姓名,能输出其对应的学号。
要用到字典的知识
n=int(input("请输入:"))
dict1={}
for i in range(n):
str=input()
dict1[str]=input()
print(dict1)
for j in range(999):
name=input("输入姓名:")
print(dict1.get(name))
结果
D:\python>python dictest.py
请输入:3
a
123
b
456
c
789
{'a': '123', 'b': '456', 'c': '789'}
输入姓名:a
123
输入姓名:a
123
输入姓名:b
456
输入姓名:b
456
输入姓名:c
789
输入姓名:c
789
输入姓名:c
789
输入姓名:
在测试的过程中发现,如果是这样的代码
dict1={}
dict1[input()]=input()
print(dict1)
输入时,是先输入键值后输入键
D:\python>python dictest-2.py
a
123
{'123': 'a'}