このコードは主に変数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
、の四則演算を行いc
、d
その結果を変数 に代入して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 つのオブジェクトを作成し、各従業員の情報を表示するメソッドを呼び出します。emp1
emp2
displayEmployee
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
と のy
2 つの属性を持ちます。
コードでは、クラスのオブジェクトを__init__()
初期化するためにメソッドが使用されます。Point
このメソッドは 2 つのパラメータx
とを受け入れ、それらをy
オブジェクトのプロパティself.x
とにそれぞれ割り当てますself.y
。引数が指定されていない場合、x
との初期値はy
両方ともデフォルトで 0 に設定されます。
さらに、コードは特別な__del__()
メソッドを定義します。このメソッドは、オブジェクトが破棄されるときに呼び出されます。メソッド内では__del__()
、まずクラス名が取得され、次にクラス名と「破棄された」情報が出力されます。
次に、コードはPoint
クラスの 3 つのオブジェクト、pt1
、 、pt2
およびを作成しますpt3
。これら 3 つのオブジェクトの参照は同じオブジェクトを指しているため、同じメモリ アドレス (ID) を持ちます。オブジェクトのメモリアドレスは、関数を通じてid()
出力できます。
最後に、del
キーワードを使用して を解放しpt1
、オブジェクトへの参照を使用しますpt2
。pt3
オブジェクト参照が解放された後、オブジェクトは破棄される可能性があります (オブジェクトを指す他の参照があるかどうかによって異なります)。オブジェクトが破棄されると、__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!")
var1
17.の 1 文字目と のvar2
2 文字目から 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)