我做過的Python30道練習題

来源:https://www.cnblogs.com/timo521/archive/2022/09/23/16722337.html
-Advertisement-
Play Games

練習題 1 成績等級 要求輸出成績等級A、B、C、D、E, 其中90-100分為A,80-89分為B,70-79分為C,60-69分為D,60分以下為E。 要求: - 用If語句實現; - 輸入百分製成績後要判斷該成績的合理性,對不合理的成績應輸出出錯信息。 參考答案: while True: co ...


練習題 1

成績等級

要求輸出成績等級A、B、C、D、E,
其中90-100分為A,80-89分為B,70-79分為C,60-69分為D,60分以下為E。
要求:
- 用If語句實現;
- 輸入百分製成績後要判斷該成績的合理性,對不合理的成績應輸出出錯信息。


參考答案:


while True:
    content = input("請輸入成績:")
    if not content.isdigit():
        print("您輸入的成績格式錯誤,請輸入一個0-100之間的數字。")
        continue
    elif not 0 <= int(content) <= 100:
        print("您輸入的成績格式錯誤,請輸入一個0-100之間的數字。")
        continue
    else:
        break

score = ""
if int(content) < 60:
    score = "E"
elif 60 <= int(content) <= 69:
    score = "D"
elif 70 <= int(content) <= 79:
    score = "C"
elif 80 <= int(content) <= 89:
    score = "B"
else:
    score = "A"
print("您的成績等級為:%s" % (score,))

練習題 2

預判比賽結果

籃球比賽是高分的比賽,領先優勢可能很快被反超。
作為觀眾,希望能在球賽即將結束時,就提早知道領先是否不可超越。
體育作家Bill James發明瞭一種演算法,用於判斷領先是否“安全”。
演算法描述:

  • 獲取領先的分數 ,減去3分
  • 如果目前是領先隊控球,則加0.5;否則減0.5(數字小於0則變成0);
  • 計算平方後的結果;
  • 如果得到的結果比當前比賽剩餘時間的秒數大,則領先是“安全”的。

請編寫程式實現上述演算法的功能,並給出運行結果。


參考答案:


# 方法一:輸入兩隊分數
a = int(input("A隊分數:"))  # a隊成績
b = int(input("B隊分數:"))  # b隊成績
d = 0
winner = ""
possession = input("球權【a or b】:")  # 球權 “a” or "b"
time_remaining = int(input("剩餘時間:"))  # 剩餘時間
if a > b:
    winner = "a"
    c = a - b
    if possession == "a":
        d = c - 2.5
    else:
        d = c - 3.5
elif b > a:
    winner = "b"
    c = b - a
    if possession == "b":
        d = c - 2.5
    else:
        d = c - 3.5
else:
    d = 0
if d < 0:
    d = 0
if d ** 2 > time_remaining:
    print("%s隊將獲得最終勝利!" % (winner,))
else:
    print("比賽結果不確定。")

# 方法二:輸入領先分數

a = int(input("領先分數:"))
possession = input("領先隊是否控球【y/n】:")
time_remaining = int(input("剩餘時間:"))
if possession == 'y':
    b = a + 0.5
else:
    b = a - 0.5
if b < 0:
    b = 0
score = b ** 2
if score > time_remaining:
    print("安全")
else:
    print("不安全")

練習題 3

購物組合

小明單位發了100元的購物卡,
小明到超市買三類洗化用品:
洗髮水(15元)、香皂(2元)、牙刷(5元)。要把100元正好花掉,
可有哪些購買組合?


參考答案:


x = range(0, 7)
y = range(0, 51)
z = range(0, 21)
total_list = []
for a in x:
    for b in y:
        for c in z:
            total = 15 * a + 2 * b + 5 * c
            if 100 == total:
                msg = "洗髮水:{0}瓶;\n香皂:{1}塊;\n牙刷:{2}支;\n".format(a, b, c)
                total_list.append(msg)
print("一共有%s種組合。" % (len(total_list),))
for m in total_list:
    print(m)

練習題 4

猜數字

首先由電腦產生一個[0,100]之間的隨機整數,然後由用戶猜測所產生的隨機數。
根據用戶猜測的情況給出不同提示:

  • 如猜測的數大於產生的數,則顯示“High”,小於則顯示“Low”,等於則顯示“You won !”,游戲結束。
  • 用戶最多可以猜7次,如果7次均未猜中,則顯示“You lost!”,並給出正確答案,游戲結束。
  • 游戲結束後,詢問用戶是否繼續游戲,選擇“Y”則開始一輪新的猜數游戲;選擇“N”則退出游戲。!

參考答案:


while True:
    answer = random.randint(0, 100)  # 生成一個0~100的隨機數
    for i in range(6, -1, -1):  # 迴圈 6,5,4,3,2,1,0
        message = "還剩%d次機會" % (i,)
        try:
            number = int(input("請輸入一個數字:"))  # 接受一個用戶輸入的數字
        except ValueError:
            print("輸入的不是數字,", message)
            continue
        if num == answer:  # 如果大了,提示用戶大了並返回while重新開始
            print("恭喜猜中!!!")
            break
        elif num < answer:  # 否則,提示用戶大了並返回while重新開始
            print("小了,", message)
        else:
            print("大了,", message)
        if i == 0:
            print("很遺憾,您未猜中!!!,答案是:", answer)
    ask = input("再來一次?(Y/any):").upper()
    if ask == "Y":
        continue
    else:
        break

練習題 5

趕鴨子

一個人趕著鴨子去每個村莊賣,每經過一個村子賣去所趕鴨子的一半又一隻。
這樣他經過了七個村子後還剩兩隻鴨子,問他出發時共趕多少只鴨子?

要求:
- 利用遞歸函數編程實現。


參考答案:


def f(n):
    if n == 8:
        return 2
    else:
        sum = f(n+1)*2+2
        return sum
print('一共有{}只鴨子'.format(f(1)))

練習題 6

從鍵盤輸入一個1~7的數字,格式化輸出對應數字的星期字元串名稱。
如:輸入3,返回“您輸入的是星期三”。


參考答案:


num = int(input("請輸入1-7:"))
num_list = ["","一", "二", "三", "四", "五", "六", "日"]
print("您輸入的是星期{}".format(num_list[num]))

練習題 7

數字密碼

編程程式,從鍵盤任意輸入1個4位數,
將該數字中的每位數與7相乘,然後取乘積結果的個位數對該數字進行替換,最後得到1個新的4位數。


參考答案:


v = input("請輸入一個四位數:")
v2 = ""
for i in v:
    v1 = int(i) * 7
    v2 += str(v1 % 10)
print(v2)

練習題 8

九九乘法表

99乘法表


參考答案:


for a in range(1, 10):
    for b in range(1, a+1):
        print("%s*%s=%s\t" % (b, a, b*a,),end="")
    print()

練習題 9

字元查詢

輸入一個字元串 str,輸出第 m 個只出現過 n 次的字元

  • 如在字元串 gbgkkdehh 中,找出第 2 個只出現 1 次的字元,輸出結果:d

參考答案:


def find_out(s, n, c):
    lis = []
    for i in s:
        count = content.count(i, 0, len(content))
        if count == c:
            lis.append(i)
    return lis[n - 1]


content = input("請輸入一段字元串:")
num = int(input("第m個字元,m? :"))
counts = int(input("出現過n次,n? :"))

print("第{}個出現過{}次的字元是:".format(num, counts), find_out(content, num, counts))

練習題 10

判斷奇偶數

給定一個數 a,判斷一個數字是奇數或偶數


參考答案:


def odd_or_even(num):
    while True:
        try:
            # 判斷輸入是否為整數
            number = int(num)
            break
        except ValueError:
            # 不是純數字需要重新輸入
            print("輸入的不是整數!")
            continue
    if number % 2 == 0:
        return '偶數'
    else:
        return '奇數'


print(odd_or_even(input("請輸入一個數字:")))

練習題 11

字元串去重排列

將字元串 s = “ajldjlajfdljfddd”,去重並從小到大排序輸出”adfjl”。


參考答案:



s = "ajldjlajfdljfddd"
s_set = set()  # 集合自帶去重功能,所以只要for迴圈字元串s,並添加到集合中,就可以自動去重。
for i in s:
    s_set.add(i)
    s_lis = sorted(list(s_set))  # 使用 sorted 方法,對字母進行排序
result = "".join(s_lis)  # sorted方法返回的是一個列表,這邊將列表數據轉換成字元串
print(result)

練習題 12

列印菱形

列印如下內容:

   *
  ***
 *****
*******
 *****
  ***
   *

參考答案:



for i in range(-3,4):
    s = 2 * (4 - abs(i)) - 1
    print(" " * abs(i), "*" * s)

練習題 13

判斷幾位數和逆序列印

給一個不多於 5 位的正整數(如 a = 12346)
求它是幾位數和逆序列印出各位數字。


參考答案:



def num(n):
    print("您輸入的是%s位數。" % (len(n)))
    print(n[::-1])
num(input("請輸入一個不多於5位的正整數:"))

練習題 14

水仙花數

如果一個 3 位數等於其各位數字的立方和,則稱這個數為水仙花數。
例如:153 = 1^3 + 5^3 + 3^3,因此 153 就是一個水仙花數。
那麼如何求 1000 以內的水仙花數(3 位數)。


參考答案:


for num in range(100, 1000):
    hun = num // 100  # 取百位
    ten = (num - hun * 100) // 10  #取十位
    one = (num - hun * 100 - ten * 10)  # 取個位
    # hun = int(str(num)[0])  # 取百位,先將數字轉換為字元串,再通過索引取值,再轉換為數字
    # ten = int(str(num)[1])  # 取十位,先將數字轉換為字元串,再通過索引取值,再轉換為數字
    # one = int(str(num)[2])  # 取個位,先將數字轉換為字元串,再通過索引取值,再轉換為數字
    d = hun ** 3 + ten ** 3 + one ** 3
    if d == num:
        print(str(num),"是水仙花數")

練習題 15

求質數

求10000以內的所有質數


參考答案:


prime_list = []  # 創建一個空列表用於接收發現的質數。
for i in range(2, 10000):  # 迴圈2~9999
    for a in range(2,i):  # 迴圈2~i-1
        b = i % a
        if b == 0:  # 如果i 能被 除1和i本身之外的一個正整數整除,則i不是質數,退出本次for迴圈
            break
    else:  # 這個else是for語句的,如果 整個for迴圈過程,b都不等於0,則執行else,否則不執行
        # print("%s是質數。" % (i,))
        prime_list.append(i)
print(prime_list)  # 列印所有質數列表
print(len(prime_list))  # 列印質數數量

"""

練習題 16

求值

計算 1-2+3-4+5-…-100 的值。


參考答案:


total = 0
for i in range(1,101):
    if i % 2 == 0:  # i如果是偶數,total = total - i
        total -= i
    else:
        total += i # i如果是奇數,total = total + i
print(total)

練習題 17

立方和

現有計算公式 1^3 + 2^3 + 3^3 + 4^3 + …….+ n^3,
如何實現:當輸入 n = 5 時,輸出 225(對應的公式 : 1^3 + 2^3 + 3^3 + 4^3 + 5^3 = 225)。


參考答案:


n = int(input("輸入一個數字:"))
total = 0
for i in range(1, (n + 1)):
    total += i ** 3
print(total)

練習題 18

對稱數組

例如 [1,2,0,2,1],[1,2,3,3,2,1],這樣的數組都是對稱數組。
判斷,是對稱數組列印 True,不是列印 False。


參考答案:


def list_symmetry(l):
    if l == l[::-1]:
        # reverse 和 [::-1]的區別是,前者改變列表本身,後者不改變列表本身,生成一個反轉後的新列表
        return True
    else:
        return False


print(list_symmetry(['a', 'b', 'd', 'd', 'a']))
print(list_symmetry(['a', 'b', 'c', 'b', 'a']))

練習題 19

取最大值

取出列表 L1 = [1, 2, 3, 11, 2, 5, 3, 2, 5, 33, 88] 中最大的三個值。


參考答案:


l1 = [1, 2, 3, 11, 2, 5, 3, 2, 5, 33, 88]
l1.sort()  # 列表從小到大排序
print(l1[-3:])  # 使用切片取列表最後三位

練習題 20

數字組合

有四個數字:1、2、3、4,能組成多少個互不相同且無重覆數字的三位數?各是多少?


參考答案:


# 方法一
l1 = [1, 2, 3, 4]
l2 = []
for x in l1:  # 從列表中取值,作為百位數
    for y in l1:
        if y == x:  # 從列表中取值,如果和百位數重覆,重新取值,不重覆,作為十位數。
            continue
        for z in l1:
            if z != x and z != y:  # 從列表中取值,如果與百位和十位不重覆,作為個位數。
                result = x * 100 + y * 10 + z
                l2.append(result)
print(len(l2),"種")
print(l2)


# 方法二 簡便方法:用itertools中的permutations即可。
import itertools  # 網上看到的別人的解法,對於itertools不瞭解,粘貼一下,以供參考。
count = 0
l1 = [1, 2, 3, 4]
for i in itertools.permutations(l1, 3):
    print(i)
    count += 1
print(count)

練習題 21

計算獎金

題目:企業發放的獎金根據利潤提成。

  • 利潤(I)低於或等於10萬元時,獎金可提10%;
  • 利潤高於10萬元,低於20萬元時,低於10萬元的部分按10%提成,高於10萬元的部分,可提成7.5%;
  • 20萬到40萬之間時,高於20萬元的部分,可提成5%;
  • 40萬到60萬之間時高於40萬元的部分,可提成3%;
  • 60萬到100萬之間時,高於60萬元的部分,可提成1.5%,
  • 高於100萬元時,超過100萬元的部分按1%提成,

從鍵盤輸入當月利潤I,求應發放獎金總數?


參考答案:


# 我的方法
profit = int(input("利潤金額:"))
if profit <= 100000:
    bonus = profit * 0.1
elif 100000 < profit <= 200000:
    bonus = 10000 + (profit - 100000) * 0.075
elif 200000 < profit <= 400000:
    bonus = 17500 + (profit - 200000) * 0.05
elif 400000 < profit <= 600000:
    bonus = 27500 + (profit - 400000) * 0.03
elif 600000 < profit <= 1000000:
    bonus = 33500 + (profit - 600000) * 0.015
else:
    bonus = 39500 + (profit - 1000000) * 0.01
print("獎金:%s元" % (bonus, ))


# 網上其他人的方法
profit = int(input('利潤金額: '))
bonus = 0
thresholds = [100000, 100000, 200000, 200000, 400000]
rates = [0.1, 0.075, 0.05, 0.03, 0.015, 0.01]
for i in range(len(thresholds)):
    if profit <= thresholds[i]:
        bonus += profit * rates[i]
        profit = 0
        break
    else:
        bonus += thresholds[i] * rates[i]
        profit -= thresholds[i]
bonus += profit * rates[-1]
print("獎金:%s元" % (bonus, ))

練習題 22

找數字

一個正整數,它加上100後是一個完全平方數,再加上168又是一個完全平方數,請問該數是多少?

思路:

  • z + 100 = x ** 2
  • z + 100 + 168 = y ** 2
    x y為兩個相鄰的數時,z為最大值

參考答案:


x = 0
while True:
    y = 0
    x += 1
    while True:
        y += 1
        if y ** 2 - x ** 2 >= 168:
            break
    if y ** 2 - x ** 2 == 168 and x ** 2 > 100:
        z = x ** 2 - 100
        print("這個整數是:{}".format(z, ))
    if y - x == 1:
        break

練習題 23

查詢第幾天

題目:輸入某年某月某日,判斷這一天是這一年的第幾天?

思路:閏年判斷方法,四年一閏,百年不閏,四百年再閏.


參考答案:


# 例如:2022-9-21
date = input("請輸入日期,格式【XXXX-XX-XX】: ")
date_list = s1.split("-")  # 以“-”為分隔符,將字元串分割成列表。
day_list = [31, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31]  # 創建一個預設2月份天數的列表
year = int(date_list[0])
if year % 400 == 0 or year % 100 != 0 and year % 4 == 0:  # 判斷年份是否為閏年
    day_list.insert(1, 29)  # 如果是,在列表索引1的位置插入29
else:
    day_list.insert(1, 28)  # 不是,插入28
days = int(date_list[2])
for d in range(int(date_list[1]) - 1):  # 迴圈月數-1,並相加,即,該月份之前的所有天數之和
    days += day_list[d]  # 再加上當月的天數
print(days)

練習題 24

十秒倒計時

題目:十秒倒計時。
程式分析:使用 time 模塊的 sleep() 函數。
ps:熟悉time模塊


參考答案:


import time
for i in range(10, 0, -1):
    print(i)
    time.sleep(1)

練習題 25

列印當前時間

題目:持續列印當前時間,一分鐘。


參考答案:


import time

for i in range(60):
    print(time.strftime('%Y-%m-%d %H:%M:%S',time.localtime(time.time())))
    time.sleep(1)

練習題 26

養兔子

題目:
有一對兔子,從出生後第3個月起每個月都生一對兔子,
小兔子長到第三個月後每個月又生一對兔子,
假如兔子都不死,問每個月的兔子總數為多少?

思路分析:
        一月兔     二月兔     成年兔
一月      2          0         0
二月      0          2         0
三月      2          0         2
四月      2          2         2
五月      4          2         4
六月      6          4         6
七月     10          6        10
八月     16         10        16
九月     26         16        26

綜上分析可知,
①二月兔的數量,就是上個月一月兔的數量;
②成年兔的數量,就是上個月成年兔的數量+二月兔的數量;
③一月兔的數量,就是本月成年兔的數量;

參考答案:


month_total = int(input("養殖多少個月:"))
m1 = 2
m2 = 0
m_end = 0
for i in range(month_total):
    rabbit_total = m1 + m2 + m_end
    print("-" * 20)  # 分隔符
    print("第%d個月,一共%d只兔子" % (i + 1, rabbit_total))
    print("其中一月兔數量:%d只" % (m1,))
    print("其中二月兔數量:%d只" % (m2,))
    print("其中成年兔數量:%d只" % (m_end,))
    m1, m2, m_end = m_end + m2, m1, m_end + m2  # 根據思路分析得出

練習題 27

養兔子——擴展題

上一題擴展,假設兔子壽命只有6個月,
養殖一年,一共還剩多少兔子,一月兔、二月兔、成年兔數量各多少

思路分析:
1. 前6個月數據不變
2. 第七個月開始,成年兔需要減去6個月之前的一月兔數量
3. 一月兔還是等於成年兔數量
4. 二月兔還是等於上個月一月兔數量

需要建立一個列表,記錄每個月一月兔的數量,以便於第七個月開始可以調用

參考答案:


month_total = 12
m1 = 2
m2 = 0
m_end = 0
m1_list = [0, 0, 0, 0, 0]
for i in range(month_total):
    rabbit_total = m1 + m2 + m_end
    m1_list.append(m1)
    print("-" * 20)
    print("第%d個月,一共%d只兔子" % (i + 1, rabbit_total))
    print("其中一月兔數量:%d只" % (m1,))
    print("其中二月兔數量:%d只" % (m2,))
    print("其中成年兔數量:%d只" % (m_end,))
    m1, m2, m_end = m_end + m2 - m1_list[i], m1, m_end + m2 - m1_list[i]
    print("下月死亡成年兔:%d只" % (m1_list[i]))

練習題 28

找出101-200之間的質數

題目:判斷101-200之間有多少個素數,並輸出所有素數。
思路,與練習題15一樣

prime_list = []
for i in range(101, 201):
    for a in range(2,i):
        b = i % a
        if b == 0:
            break
    else:
        print("%s是質數。" % (i,))
        prime_list.append(i)
print("101到200之間質數的數量為:", len(prime_list))

練習題 29

猴子分桃子

題目:海灘上有一堆桃子,五隻猴子來分。
第一隻猴子把這堆桃子平均分為五份,多了一個,這隻猴子把多的一個扔入海中,拿走了一份。
第二只猴子把剩下的桃子又平均分成五份,又多了一個,它同樣把多的一個扔入海中,拿走了一份,
第三、第四、第五隻猴子都是這樣做的,
問海灘上原來最少有多少個桃子,最後還剩多少個?

思路分析
a = 5 * b + 1  # 第一隻猴子拿走b個桃子
4 * b = 5 * c + 1  # 第二只猴子拿走c個桃子
4 * c = 5 * d + 1  # 第三隻猴子拿走d個桃子
4 * d = 5 * e + 1  # 第四隻猴子拿走e個桃子
4 * e = 5 * f + 1  # 第五隻猴子拿走f個桃子

參考答案:


# 方法一
f = 0  # 第五隻猴子拿走的桃子數
while True:
    f += 1  # 第五隻猴子拿走的桃子數
    e = ((5 * f) + 1) / 4  # 第四隻猴子拿走的桃子數
    d = ((5 * e) + 1) / 4  # 第三隻猴子拿走的桃子數
    c = ((5 * d) + 1) / 4  # 第二只猴子拿走的桃子數
    b = ((5 * c) + 1) / 4  # 第一隻猴子拿走的桃子數
    a = (5 * b) + 1  # 最開始桃子總數
    if e % 1 ==0 and d % 1 ==0 and c % 1 ==0 and b % 1 ==0 and a % 1 ==0:  # 桃子數量肯定是整數。
        msg = """
        一共有{0}個桃子
        第一隻猴子拿走{1}個桃子
        第二只猴子拿走{2}個桃子
        第三隻猴子拿走{3}個桃子
        第四隻猴子拿走{4}個桃子
        第五隻猴子拿走{5}個桃子
        最後還剩{6}個桃子""".format(int(a), int(b), int(c), int(d), int(e), f, 4 * f)
        print(msg)
        break

# 方法二
x = 0  # 上一隻猴子拿走的桃子數
y = 0  # 最後一隻猴子拿走的桃子數
res = 0  # 桃子總數
b = True
while b:
    y += 1 # 第五隻猴子拿走的桃子
    x = ((5 * y) + 1) / 4 # 第四隻猴子拿走的桃子
    for i in range(3):  # 迴圈出前三隻猴子拿走的桃子數,所以是range(3)
        if ((5 * x) + 1) % 4 != 0:  # ((5 * y) + 1) 需要是4的倍數
            break
        else:
            x = ((5 * x) + 1) / 4
        if i == 2:  # 如果可以順利完成三次迴圈,桃子總數就是第一隻猴子拿走的桃子數 乘以5,再加上1.
            res = (5 * x) + 1
            b = False
print("原來最少有%s個桃子,最後還剩%s個桃子。" % (res, 4 * y))

練習題 30

數據加密/解密

題目:某個公司採用公用電話傳遞數據,數據是四位的整數,在傳遞過程中是加密的,加密規則如下:
每位數字都加上5,然後用和除以10的餘數代替該數字,
再將第一位和第四位交換,第二位和第三位交換。

分析:
① 加5,然後用和除以10的餘數,其實就是加5後,新數字的個位數。
② 一四交換,二三交換,其實就是反轉。

參考答案:


# 加密
def encode(content):
    res = 0
    for i in range(content):  # 迴圈四位數(字元串)
        n = (int(i) + 5) % 10  # 加5 取餘
        res += n * (10 ** i)  # 這裡很巧妙將得數直接反轉了,i=0時 content[0]是千位,而10 ** i = 1,得數編程了個位
    return res

# 解密
def decode(res):
    plain = 0
    data = str(res)
    for i in range(4):
        if int(data[i]) < 5:
            n = int(data[i]) + 5
        else:
            n = int(data[i]) - 5
        plain += n * (10 ** i)
    return plain

您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 一、聚合查詢 需要導入模塊:from django.db.models import Max, Min, Sum, Count, Avg 關鍵語法:aggregate(聚合結果別名 = 聚合函數(參數)) 查詢結果:使用聚合函數,從每一個組中獲取結果:字典 註意點: 1 聚合函數必須在分組之後才能使 ...
  • java基礎 以下內容為本人的學習筆記,如需要轉載,請聲明原文鏈接 https://www.cnblogs.com/lyh1024/p/16720908.html Ø 冒泡排序原理: 比較數組中,兩個相鄰的元素,如果第一個數比第二個數大,我們就交換他們的位置; 每一次比較,都會產生出一個最大,或者最 ...
  • SSD實現思路 SSD具有如下主要特點: 從YOLO中繼承了將detection轉化為regression的思路,一次完成目標定位與分類 基於Faster RCNN中的Anchor,提出了相似的Prior box; 加入基於特征金字塔(Pyramidal Feature Hierarchy)的檢測方 ...
  • 本文按照mac講解protobuf的安裝,windows上比較好安裝按照mac的基本流程就可以安裝成功,mac上的安裝有的時候比較容易出現問題 一、通過brew的方式安裝(僅Mac) 需要mac中存在brew,輸入命令:brew --version 查看是否存在brew,如不存在就進行安裝,安裝方法 ...
  • 大家好,,這篇文章咱們聊下JVM性能優化的問題 這篇文章主要介紹下JVM的運行數據區相關的內容,包括: 程式計數器 虛擬機棧 本地方法棧 堆 方法區 案例 和總結 好了,開始乾貨環節~ 作為一個常識性的知識,大家都知道位元組碼只是一個二進位文件存放在那裡。要想在jvm里跑起來,先得有個運行的記憶體環境。 ...
  • 在數據分析過程中,一般提取資料庫裡面的數據時候,拿著表格數據反覆思索,希望能夠根據自己所想立馬生成一張數據可視化的圖表來更直觀的呈現數據。 但想要進行數據可視化的時候,往往需要調用很多的庫與函數,還需要數據轉換以及大量的代碼處理編寫。這都是十分繁瑣的工作,確實只為了數據可視化我們不需要實現數據可視化 ...
  • “Java SPI是什麼?有什麼用?” 這是阿裡p6面試過程中,第二面的時候遇到的一個真實的問題。 如果你不理解SPI,建議你看完整個視頻。 大家好,我是Mic,一個工作了14年的Java程式員 這道面試題的文字版我已經整理在20萬字的文檔里了,有需要的可以在文章尾端領取 下麵來看看這個問題考察的目 ...
  • 如果你是準備自學Python或者正在學習,你應該能用得上: ① Python所有方向的學習路線圖,清楚各個方向要學什麼東西 ② 80多節Python課程視頻,涵蓋必備基礎、爬蟲和數據分析 ③ 100多個Python項目源碼,學習不再是只會理論 ④ 獨家Python圖文教程,手機也能學習 ⑤ 200多 ...
一周排行
    -Advertisement-
    Play Games
  • 示例項目結構 在 Visual Studio 中創建一個 WinForms 應用程式後,項目結構如下所示: MyWinFormsApp/ │ ├───Properties/ │ └───Settings.settings │ ├───bin/ │ ├───Debug/ │ └───Release/ ...
  • [STAThread] 特性用於需要與 COM 組件交互的應用程式,尤其是依賴單線程模型(如 Windows Forms 應用程式)的組件。在 STA 模式下,線程擁有自己的消息迴圈,這對於處理用戶界面和某些 COM 組件是必要的。 [STAThread] static void Main(stri ...
  • 在WinForm中使用全局異常捕獲處理 在WinForm應用程式中,全局異常捕獲是確保程式穩定性的關鍵。通過在Program類的Main方法中設置全局異常處理,可以有效地捕獲並處理未預見的異常,從而避免程式崩潰。 註冊全局異常事件 [STAThread] static void Main() { / ...
  • 前言 給大家推薦一款開源的 Winform 控制項庫,可以幫助我們開發更加美觀、漂亮的 WinForm 界面。 項目介紹 SunnyUI.NET 是一個基於 .NET Framework 4.0+、.NET 6、.NET 7 和 .NET 8 的 WinForm 開源控制項庫,同時也提供了工具類庫、擴展 ...
  • 說明 該文章是屬於OverallAuth2.0系列文章,每周更新一篇該系列文章(從0到1完成系統開發)。 該系統文章,我會儘量說的非常詳細,做到不管新手、老手都能看懂。 說明:OverallAuth2.0 是一個簡單、易懂、功能強大的許可權+可視化流程管理系統。 有興趣的朋友,請關註我吧(*^▽^*) ...
  • 一、下載安裝 1.下載git 必須先下載並安裝git,再TortoiseGit下載安裝 git安裝參考教程:https://blog.csdn.net/mukes/article/details/115693833 2.TortoiseGit下載與安裝 TortoiseGit,Git客戶端,32/6 ...
  • 前言 在項目開發過程中,理解數據結構和演算法如同掌握蓋房子的秘訣。演算法不僅能幫助我們編寫高效、優質的代碼,還能解決項目中遇到的各種難題。 給大家推薦一個支持C#的開源免費、新手友好的數據結構與演算法入門教程:Hello演算法。 項目介紹 《Hello Algo》是一本開源免費、新手友好的數據結構與演算法入門 ...
  • 1.生成單個Proto.bat內容 @rem Copyright 2016, Google Inc. @rem All rights reserved. @rem @rem Redistribution and use in source and binary forms, with or with ...
  • 一:背景 1. 講故事 前段時間有位朋友找到我,說他的窗體程式在客戶這邊出現了卡死,讓我幫忙看下怎麼回事?dump也生成了,既然有dump了那就上 windbg 分析吧。 二:WinDbg 分析 1. 為什麼會卡死 窗體程式的卡死,入口門檻很低,後續往下分析就不一定了,不管怎麼說先用 !clrsta ...
  • 前言 人工智慧時代,人臉識別技術已成為安全驗證、身份識別和用戶交互的關鍵工具。 給大家推薦一款.NET 開源提供了強大的人臉識別 API,工具不僅易於集成,還具備高效處理能力。 本文將介紹一款如何利用這些API,為我們的項目添加智能識別的亮點。 項目介紹 GitHub 上擁有 1.2k 星標的 C# ...