Python プログラミング演習 11 ~ 21

このコードは主に変数aとの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")

aこのコードは主に変数、bの四則演算を行いcdその結果を変数 に代入してe出力します。変更されたコードによると、print関数は括弧を使用して文字列と変数を出力し、正しい出力を保証します。

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.Employeeという名前の従業員クラスを定義します。これにより、従業員数を記録し、各従業員の関連情報を表示できます。

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.クラスEmployeeの 2 つのオブジェクトを作成し各従業員の情報を表示するメソッドを呼び出します。emp1emp2displayEmployee

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. このコードは、Pointというクラスを定義します。このクラスは 2 次元平面上の点を表し、xと のy2 つの属性を持ちます。

コードでは、クラスのオブジェクトを__init__()初期化するためにメソッドが使用されます。Pointこのメソッドは 2 つのパラメータxとを受け入れ、それらをyオブジェクトのプロパティself.xとにそれぞれ割り当てますself.y引数が指定されていない場合、xとの初期値はy両方ともデフォルトで 0 に設定されます。

さらに、コードは特別な__del__()メソッドを定義します。このメソッドは、オブジェクトが破棄されるときに呼び出されます。メソッド内では__del__()、まずクラス名が取得され、次にクラス名と「破棄された」情報が出力されます。

次に、コードはPointクラスの 3 つのオブジェクト、pt1、 、pt2およびを作成しますpt3これら 3 つのオブジェクトの参照は同じオブジェクトを指しているため、同じメモリ アドレス (ID) を持ちます。オブジェクトのメモリアドレスは、関数を通じてid()出力できます。

最後に、delキーワードを使用して を解放しpt1オブジェクトへの参照を使用しますpt2pt3オブジェクト参照が解放された後、オブジェクトは破棄される可能性があります (オブジェクトを指す他の参照があるかどうかによって異なります)。オブジェクトが破棄されると、__del__()メソッドが自動的に呼び出され、対応する破棄情報が出力されます。

__del__()オブジェクトの破棄は Python のガベージ コレクション メカニズムによって管理され、コード内のメソッドは、オブジェクトが破棄されるときにいくつかのクリーンアップ操作を実行できることを思い出させるだけであることに注意してください。破棄の具体的なタイミングはインタープリタによって決定されるため、__del__()必要なリソースの回復を実行するメソッドに依存しないでください。

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. このコードは、for文字列内の各文字をループします。

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

var117.の 1 文字目と のvar22 文字目から 4 文字目までを出力します。

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. 比較演算子を使用して、2 つのリストのサイズを比較します。

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.time.localtime()関数を使用して現在の現地時間を取得し、年と月に基づいて現在の日付を計算します。

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.「水仙の数」という条件を満たす3桁の数字を求めます。

#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. 指定されたスコア リストの各スコア セグメントの人数をカウントし、結果を辞書に保存します。

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)

おすすめ

転載: blog.csdn.net/m0_74972727/article/details/131466495