Exercices de programmation Python 11-21

11. Ce code effectue principalement des opérations de comparaison sur les variables aet , et effectue un jugement conditionnel et une sortie en fonction des résultats de la comparaison.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. Ce code effectue principalement des opérations arithmétiques sur les variables a, b, c, det affecte le résultat à la variable e, puis affiche le résultat. Selon le code modifié, la printfonction utilise des parenthèses pour imprimer des chaînes et des variables afin d'assurer une sortie correcte.

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. Définissez une Employeeclasse d'employés nommée , qui peut enregistrer le nombre d'employés et afficher les informations pertinentes de chaque employé

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. Créez deux Employeeobjets de classe emp1et emp2, et appelez displayEmployeela méthode pour afficher les informations de chaque employé.

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. Ce code définit une Pointclasse appelée . Cette classe représente un point sur un plan à deux dimensions et possède deux attributs x, et .y

Dans le code, __init__()les méthodes sont utilisées pour initialiser Pointles objets de la classe. Cette méthode accepte deux paramètres xet , et les affecte respectivement aux propriétés et yde l'objet . Si aucun argument n'est fourni, les valeurs initiales de et sont toutes deux définies sur 0 par défaut.self.xself.yxy

De plus, le code définit une __del__()méthode spéciale. Cette méthode est appelée lorsque l'objet est détruit. Dans __del__()la méthode, le nom de la classe est d'abord obtenu, puis le nom de la classe et les informations "détruites" sont imprimés.

Ensuite, le code crée trois Pointobjets de classe : pt1, pt2et pt3. Puisque les références de ces trois objets pointent vers le même objet, ils ont la même adresse mémoire (id). id()L'adresse mémoire de l'objet peut être imprimée via la fonction.

Enfin, utilisez delles mots-clés to release pt1et pt2la pt3référence à l'objet. Une fois la référence d'objet libérée, l'objet peut être détruit (selon qu'il existe ou non d'autres références pointant vers lui). Lorsque l'objet est détruit, __del__()la méthode sera appelée automatiquement et les informations de destruction correspondantes seront imprimées.

Il convient de noter que la destruction des objets est gérée par le mécanisme de récupération de place de Python, et la __del__()méthode dans le code n'est qu'un rappel que certaines opérations de nettoyage peuvent être effectuées lorsque l'objet est détruit. Le moment précis de la destruction est déterminé par l'interpréteur, vous ne devez donc pas vous fier à __del__()la méthode pour effectuer la récupération de ressources nécessaire.

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. Ce code utilise forpour parcourir chaque lettre de la chaîne.

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

17. Imprimez var1le premier caractère de et var2les deuxième à quatrième caractères 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. Utilisez des opérateurs de comparaison pour comparer la taille de deux listes.

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. Utilisez time.localtime()la fonction pour obtenir l'heure locale actuelle, puis calculez le jour actuel de l'année en fonction de l'année et du mois.

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. Trouvez le nombre à trois chiffres qui satisfait la condition "nombre de jonquilles".

#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. Comptez le nombre de personnes dans chaque segment de score dans la liste de scores donnée et stockez le résultat dans un dictionnaire.

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)

Je suppose que tu aimes

Origine blog.csdn.net/m0_74972727/article/details/131466495
conseillé
Classement