Ejercicios de programación en Python 11-21

11. Este código realiza principalmente operaciones de comparación en variables ay , y realiza juicio condicional y salida de acuerdo con los resultados de la comparación.b

a = 21
b = 10
c = 0
 
if a == b:
   print("1 - a 等于 b")
else:
   print("1 - a 不等于 b")
 
if a != b:
   print("2 - a 不等于 b")
else:
   print("2 - a 等于 b")
 
if a != b:
   print("3 - a 不等于 b")
else:
   print("3 - a 等于 b")
 
if a < b:
   print("4 - a 小于 b") 
else:
   print("4 - a 大于等于 b")
 
if a > b:
   print("5 - a 大于 b")
else:
   print("5 - a 小于等于 b")
 
# 修改变量 a 和 b 的值
a = 5
b = 20
if a <= b:
   print("6 - a 小于等于 b")
else:
   print("6 - a 大于 b")
 
if b >= a:
   print("7 - b 大于等于 a")
else:
   print("7 - b 小于 a")

12. Este código realiza principalmente operaciones aritméticas en las variables a, b, c, dy asigna el resultado a la variable ey luego genera el resultado. De acuerdo con el código modificado, la printfunción usa paréntesis para imprimir cadenas y variables para garantizar una salida correcta.

a = 20
b = 10
c = 15
d = 5
e = 0

e = (a + b) * c / d       # (20 + 10) * 15 / 5
print("(a + b) * c / d 运算结果为:", e)

e = ((a + b) * c) / d     # ((20 + 10) * 15) / 5
print("((a + b) * c) / d 运算结果为:", e)

e = (a + b) * (c / d)     # (20 + 10) * (15/5)
print("(a + b) * (c / d) 运算结果为:", e)

e = a + (b * c) / d       # 20 + (10 * 15) / 5
print("a + (b * c) / d 运算结果为:", e)

13. Defina una Employeeclase de empleado llamada , que puede registrar el número de empleados y mostrar la información relevante de cada empleado

class Employee:
   '所有员工的基类'
   empCount = 0
 
   def __init__(self, name, salary):
      self.name = name
      self.salary = salary
      Employee.empCount += 1
   
   def displayCount(self):
     print("Total Employee %d" % Employee.empCount)
 
   def displayEmployee(self):
      print("Name: ", self.name, ", Salary: ", self.salary)

14. Cree dos Employeeobjetos de clase emp1y emp2, y llame displayEmployeeal método para mostrar la información de cada empleado.

class Employee:
    '所有员工的基类'
    empCount = 0

    def __init__(self, name, salary):
        self.name = name
        self.salary = salary
        Employee.empCount += 1
   
    def displayCount(self):
        print("Total Employee %d" % Employee.empCount)

    def displayEmployee(self):
        print("Name: ", self.name, ", Salary: ", self.salary)

"创建 Employee 类的第一个对象"
emp1 = Employee("Zara", 2000)
"创建 Employee 类的第二个对象"
emp2 = Employee("Manni", 5000)
emp1.displayEmployee()
emp2.displayEmployee()
print("Total Employee %d" % Employee.empCount)

15. Este código define una Pointclase llamada . Esta clase representa un punto en un plano bidimensional y tiene dos atributos x, y .y

En el código, __init__()los métodos se utilizan para inicializar Pointobjetos de la clase. Este método acepta dos parámetros xy , y los asigna a las propiedades y ydel objeto, respectivamente . Si no se proporcionan argumentos, los valores iniciales de y se establecen en 0 de forma predeterminada.self.xself.yxy

Además, el código define un __del__()método especial. Este método se llama cuando se destruye el objeto. Dentro __del__()del método, primero se obtiene el nombre de la clase y luego se imprimen el nombre de la clase y la información "destruida".

A continuación, el código crea tres Pointobjetos de clase: pt1, pt2y pt3. Dado que las referencias de estos tres objetos apuntan al mismo objeto, tienen la misma dirección de memoria (id). id()La dirección de memoria del objeto se puede imprimir a través de la función.

Finalmente, use dellas palabras clave para liberar pt1y pt2la pt3referencia al objeto. Después de que se libera la referencia del objeto, el objeto puede destruirse (dependiendo de si hay otras referencias que apunten a él). Cuando se destruye el objeto, __del__()el método se llamará automáticamente y se imprimirá la información de destrucción correspondiente.

Cabe señalar que la destrucción de objetos se gestiona mediante el mecanismo de recolección de basura de Python, y el __del__()método en el código es solo un recordatorio de que se pueden realizar algunas operaciones de limpieza cuando se destruye el objeto. El intérprete determina el momento específico de la destrucción, por lo que no debe confiar en __del__()el método para realizar la recuperación de recursos necesaria.

class Point:
   def __init__( self, x=0, y=0):
      self.x = x
      self.y = y
   def __del__(self):
      class_name = self.__class__.__name__
      print class_name, "销毁"
 
pt1 = Point()
pt2 = pt1
pt3 = pt1
print id(pt1), id(pt2), id(pt3) # 打印对象的id
del pt1
del pt2
del pt3

16. Este código se utiliza forpara recorrer cada letra de la cadena.

for letter in 'Python':
   if letter == 'h':
      pass
      print('这是 pass 块')
   print('当前字母 :', letter)
 
print("Good bye!")

17. Imprima var1el primer carácter de y var2del segundo al cuarto caracteres de .

var1 = 'Hello World!'
var2 = "Python Runoob"

print("var1[0]: ", var1[0])
print("var2[1:5]: ", var2[1:5])


print("My name is %s and weight is %d kg!" % ('Zara', 21))

18. Usa operadores de comparación para comparar el tamaño de dos listas.

list1, list2 = [123, 'xyz'], [456, 'abc']

if list1 == list2:
    print("list1 和 list2 相等")
elif list1 < list2:
    print("list1 小于 list2")
else:
    print("list1 大于 list2")

list3 = list2 + [786]

if list2 == list3:
    print("list2 和 list3 相等")
elif list2 < list3:
    print("list2 小于 list3")
else:
    print("list2 大于 list3")

19. Use time.localtime()la función para obtener la hora local actual y luego calcule el día actual del año según el año y el mes.

import time
date = time.localtime()
year,month,day = date[:3]
day_month = [31,28,31,30,31,30,31,31,30,31,30,31]
if year%400==0 or(year%4==0 and year%100!=0):
    day_month[1] = 29
if month==1:
    print(day)
else:
    print(sum(day_month[:month-1])+day)

20. Encuentra el número de tres dígitos que satisface la condición "número de narcisos".

#1
for i in range(100,1000):
    bai,shi,ge = map(int,str(i))
    if ge**3 + shi**3 + bai**3 == i:
        print(i)

#2
for num in range(100,1000):
    if sum(map(lambda x:int(x)**3,str(num))) == num:
        print(num)

21. Cuente el número de personas en cada segmento de puntuación en la lista de puntuación dada y almacene el resultado en un diccionario.

scores = [89,70,49,87,92,84,73,71,78,81,37,77,82,81,79,80,82,75,90,54,80,70,68,61]
groups = {'优秀':0,'良':0,'中':0,'及格':0,'不及格':0}
for score in scores:
    if score>=90:
        groups['优秀'] = groups['优秀']+1
    elif score>=80:
        groups['良'] = groups['良']+1
    elif score>=70:
        groups['中'] = groups['中']+1
    elif score>=60:
        groups['及格'] = groups['及格']+1
    else:
        groups['不及格'] = groups['不及格']+1
print(groups)

Supongo que te gusta

Origin blog.csdn.net/m0_74972727/article/details/131466495
Recomendado
Clasificación