Exercices de base de la programmation Python (4)

1. Utilisez la bibliothèque de temps pour formater et sortir les informations d'heure actuelle du système

import locale
import time

# 以格式2020年08月24日18时50分21秒输出
# python time 'locale' codec can't encode character '\u5e74' in position 2: encoding error报错的解决方法
locale.setlocale(locale.LC_CTYPE, 'chinese')

t = time.localtime()
print(time.strftime('%Y年%m月%d日 %H时%M分%S秒', t))

Les résultats sont les suivants:

20200824185417

2. Utilisez la bibliothèque des tortues pour dessiner des anneaux olympiques

import turtle

p = turtle
p.pensize(8)  # 画笔尺寸设置5


def drawCircle(x, y, c='red'):
    p.pu()          # 抬起画笔
    p.goto(x, y)    # 绘制圆的起始位置
    p.pd()          # 放下画笔
    p.color(c)      # 绘制c色圆环
    p.circle(50, 360)  # 绘制圆:半径,角度


drawCircle(0, 0, 'blue')
drawCircle(80, 0, 'black')
drawCircle(150, 0, 'red')
drawCircle(120, -60, 'green')
drawCircle(50, -60, 'yellow')

p.done()

L'effet de l'opération est le suivant:
Insérez la description de l'image ici

3. Réalisation simple des fonctions du système de gestion de compte, y compris les fonctions de création d'un compte, de dépôt d'argent, de retrait d'argent et de sortie du système

class Bank():
	users = []
	def __init__(self):
		# 创建该账户信息   属性:账号 密码 姓名 金额
		users = []
		self.__cardId = input('请输入账号:')
		self.__pwd = input('请输入密码:')
		self.__userName = input('请输入姓名:')
		self.__banlance = eval(input('请输入该账号金额:'))
		# 将账户信息以字典添加进列表
		users.append({
    
    '账号': self.__cardId, '密码': self.__pwd, '姓名': self.__userName, '金额': self.__banlance})
		print(users)

	# 存钱
	def cun(self):
		flag = True
		while flag:
			cardId = input('输入账号:')
			while True:
				if cardId == self.__cardId:
					curPwd = input('输入密码:')
					if curPwd == self.__pwd:
						money = eval(input('存入金额:'))
						print('存钱成功')
						self.__banlance = self.__banlance + money
						print('存入:{}元  余额:{}元'.format(money, self.__banlance))
						flag = False
						break
					else:
						print('密码错误,请重新输入!')
						continue
				else:
					print('账号错误,请检查后重新输入!')
					break
	# 取钱
	def qu(self):
		flag1, flage2 = True, True
		while flag1:
			cardId = input('输入账号:')
			while flage2:
				if cardId == self.__cardId:
					curPwd = input('输入密码:')
					if curPwd == self.__pwd:
						while True:
							money = eval(input('取出金额:'))
							if money <= self.__banlance:
								print('取钱成功')
								self.__banlance = self.__banlance - money
								print('取出:{}元  余额:{}元'.format(money, self.__banlance))
								flag1, flage2 = False, False     # 外层循环也退出
								break
							else:
								print('余额不足,请重新输入要取的金额!')
								continue
					else:
						print('密码错误,请重新输入!')
						continue
				else:
					print('账号错误,请检查后重新输入!')
					break


bk = Bank()
print('=============== 创建账号成功 =================')
print('---------------------------------------------------')

while True:
	print('1.存钱\n2.取钱\n3.退出账目管理')
	order = input('请输入您的选择:')
	if order == '1':
		bk.cun()
	elif order == '2':
		bk.qu()
	elif order == '3':
		print('===================== 退出系统 =======================')
		break
	else:
		print('输入选择有误,请重新输入!')
		continue

4. opérations de tableau numpy

  • Créez un tableau aléatoire de 10x10, où chaque élément est un entier de 0 à 100, trouvez son maximum et sa moyenne
  • Liste connue [[4,2,8,6], [7,5,9,1]], s'il vous plaît convertir la liste en un objet ndarray, et définir les première et troisième colonnes des deux premières lignes à 0, et re-sortie
import numpy as np

s = np.random.randint(0, 100, size=(10, 10))   # 生成随机数组  里面每个元素为0-100的整数
print(s)
print(f'最大值:{np.max(s)}')
print(f'平均值:{np.mean(s)}')
s= np.array([[4, 2, 8, 1], [7, 5, 9, 6], [1, 2, 3, 4]])
print(s)
print('-------------------------')
s[:2, 0:3:2] = 0    # 前两行的1、3列
print(s)

运行结果如下:
[[59 18 93 34  6 59 72 26 27 98]
 [ 4 44 29 32 29 95 97 33 64 66]
 [64 64 31 26 61 35 65 92 31 46]
 [59 37 82 55 34 31 21 66 23 79]
 [29 58 73 30 34 94 17 49 63 60]
 [78 55 74 25  8 58 34 80 67 68]
 [76 49 57 86 23  2 76 36 35 95]
 [47 98 76 14 89 71 17 32 81 63]
 [70 76 77 10 98  6 78 35  2 69]
 [17  1 93 67 32 86 43  2 86 84]]
最大值:98
平均值:51.96
[[4 2 8 1]
 [7 5 9 6]
 [1 2 3 4]]
-------------------------
[[0 2 0 1]
 [0 5 0 6]
 [1 2 3 4]]

5. Position de marche en peau de serpent

import turtle

t = turtle
t.penup()
t.fd(-250)
t.pendown()
# 海龟腰围
t.pensize(30)
# 海龟颜色
t.pencolor("purple")
t.seth(-30)
for i in range(5):   # 5节
    # 以左侧距离为r(如果r是负数,则以右侧距离-r)的点为圆心蛇皮走位(半径,旋转角度)
    t.circle(50, 2 * 30)
    t.circle(-50, 2 * 30)

t.circle(50, 30)
t.fd(60)               # 蛇身
t.circle(25, 180)      # 蛇头的半径  角度
t.fd(40*2 / 3)         # 蛇头长度

t.done()          # 程序运行之后不会退出

L'effet de l'opération est le suivant:

Insérez la description de l'image ici

6. Opérations sur les fichiers

Ce qui suit fait partie du fichier sensor-data.txt qui recueille les données d'un capteur. Parmi eux, chaque ligne est un enregistrement et plusieurs attributs sont séparés par des virgules. Les attributs incluent la date, l'heure, la température, l'humidité, la lumière et la tension. Parmi eux, la température est dans la troisième colonne.
date, heure, température, humi, lumière, volt
2020-02-01,23: 03: 16.33393,19.3024,38.4629,45.08,2.68742
2020-02-01,23: 06: 16.01353,19.1652,38.8039,45.08,2.68742
2020 -02-01,23: 06: 46.77808,19.175,38.8379,45.08,2.68942
Veuillez écrire un programme sous forme de lecture de fichiers, compter et afficher la température moyenne, et le résultat conserve 2 décimales.

# 统计并输出温度的平均值,结果保留2位小数。
with open(r'./测试数据/test_01.txt') as f:
    con = f.read().split('\n')

temp = [eval(x.split(',')[2]) for x in con[1:]]      # 第一行为列名  不要
print('温度的平均值为:{:.2f}'.format(sum(temp) / len(temp)))

Les résultats sont les suivants:

温度的平均值为:19.21

Je suppose que tu aimes

Origine blog.csdn.net/fyfugoyfa/article/details/108205257
conseillé
Classement