第一次学习

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接: https://blog.csdn.net/qq_44793557/article/details/102759910

第一次学习

第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行输入姓名 学号。接下来输入任意数量的姓名,能输出其对应的学号。

要用到字典的知识

扫描二维码关注公众号,回复: 7627016 查看本文章
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'}

猜你喜欢

转载自blog.csdn.net/qq_44793557/article/details/102759910