Python3.5开发4 - 基本的控制与读写Csv文件
Windows乱码解决:excel中,点击 数据->自文本 打开 (UTF-8;分隔符是逗号)
知识点:
- 控制语句
- 读取CSV文件
演示:
# var
# a = 1
# del a
# print a
# list
a = [1,2,3,'w',4,5]
print(3 in a)
print(100 in a)
# dic
c = {'x':'hello','y':'world'}
print('y' in c) # 只可以判断key,不可以判断value
print('hello' in c)
a = {'x':1}
a['y'] = 2
print(a)
a = {'x': 1, 'y':2}
a.pop('x')
print(a)
# ==========================
# if
a = '1'
b = 1
print(a==b)
print(1<2<3)
a = [1,2,3,4]
if 3 in a:
print('right')
a = [1,2]
if not a:
print('a is empty')
else:
print('a is not empty')
b = {}
if not b:
print('b is empty')
a = [1,2]
if not a:
print('a is empty')
elif len(a) == 1:
print('a有一个元素')
else:
print('a有很多元素')
# for
for i in range(10):
print(i)
a = [1,2,'x',['x','y'],5]
for each in a:
print(each)
a = {'x':'I am x','y':'I am y','z':'I am z'}
for k in a:
print(k)
print(a[k])
b = a.items()
print(b)
print(list(b))
print(list(b)[0])
print(list(b)[0][1])
c = [('x', 'I am x'), ('y', 'I am y'), ('z', 'I am z')]
d = dict(c)
print(d)
print(d['z'])
# import time
# i = 0
# while i < 10:
# print(i)
# # i = i + 1
# time.sleep(0.5)
i = 0
while True:
print(i)
i = i + 1
if i > 10:
break
for i in range(100):
if i == 50:
print(i)
else:
continue
for i in range(10):
for j in range(i):
for k in range(j):
print(i,j,k)
# read and write csv
import csv
# f = open('class4.csv','r',encoding='UTF-8')
# reader = csv.DictReader(f)
# for e in reader:
# print(e['身高'])
# print(e['体重'])
# f.close()
a = [{'身高':177,'体重':107},{'身高':127,'体重':105},{'身高':177, '体重':100},{'身高':107, '体重':90},{'身高':130, '体重':70}]
f = open('class4.csv','w',encoding='UTF-8')
writer = csv.DictWriter(f,fieldnames=['身高', '体重'])
writer.writeheader()
writer.writerows(a)
# for e in a:
# writer.writerow(e)
f.close()
# ===========================================
# a = 'hello yu xiang'
#
# for e in a:
# print(e)
# 排序
# a = [3,4,1,7,2,5]
# a.sort()
# # a.sort(reverse=True)
# print(a)
#
# a = input('请出入数据:')
# print(type(a))
# print('a的值是:{}'.format(a))
作业:猜数游戏
代码:
import random
import csv
import time
import os
info = {}
count = 0
name = input('请输入你的姓名:')
time = time.strftime('%Y-%m-%d %H:%M:%S', time.localtime(time.time()))
info = {'时间': time, '姓名': name}
num = random.randint(0,10)
value = int(input('请输入一个数字:'))
while True:
if value > num:
count += 1
print('偏大')
value = int(input('请重新输入这个数:'))
elif value < num:
count += 1
print('偏小')
value = int(input('请重新输入这个数:'))
else:
count += 1
print('正确')
break
info['步数'] = count
if os.path.exists('guess_num.csv'):
title = True
else:
title = False
f = open('guess_num.csv','a',encoding='UTF-8')
writer = csv.DictWriter(f,fieldnames=['时间','姓名','步数'])
if not title:
writer.writeheader()
writer.writerow(info)
f.close()