gpt-4o考場安排

????????說明 :經過多次交互,前后花了幾個小時,總算完成了基本功能。如果做到按不同層次分配考場,一鍵出打印結果就完美了。如果不想看中間“艱苦”的過程,請直接跳到“最后結果”及“食用方法”。中間過程還省略了一部分交互,gpt-4o一個線程限制了會話的次數(100),大概開了三個線程完成了任務。在此過程中自己可能提示詞描述不夠準確。以后在描述問題時還需要改進,后續添加交互,打包為exe

????????在日常的教務活動中,考場安裝很費時的事。學校平時考場安排,不像大型考試每考室人數固定,有時還會按不同層次的學生安排考場,要求比較多,排定后還需手工調整。

第一次給的提示語:

?電子表格”考場安排demo.xlsx“的字段為:班級、準考證號、學生姓名、考場、考號。其中考場、考號需要程序來安排的,請按以下要求給出python程序。1、總考場數為24個2、請平均分配每考場人數3、每個考場的座位號從1開始編號,依次為2, 3, 4,...。4、隨機安排學生,注意是隨機,但要保證在一個考場中相鄰兩條記錄,它們班級字段的值不相等。5、將安排好的結果以“考場安排結果.xlsx"保存

經過了幾次迭代:

?上面的程序執行了很長時間,即沒有結果,也沒有出錯提示錯誤仍然存在如果每考場的學生班號隨機一點就更好了

此時出現警告

?A value is trying to be set on a copy of a slice from a DataFrame

直接將警告提交給gpt

?當我重新運行以上程序時,雖然沒有了警告提示,運行很長時間沒有結果

這時給出了正確的結果

?import pandas as pdimport randomfrom openpyxl import Workbookimport numpy as np??def load_data(filename):return pd.read_excel(filename)??def save_data(df, filename):df.to_excel(filename, index=False)??def assign_seats(df, total_halls):# 按班級分組并隨機打亂每個班級內部的順序grouped = df.groupby('班級')groups = [group.sample(frac=1).reset_index(drop=True) for _, group in grouped]?# 創建調度器隊列,初始化為每個班級的iteratoriterators = [iter(group.iterrows()) for group in groups]?arranged_data = []hall_number = 1seat_number = 1?total_students = len(df)students_per_hall = total_students // total_hallsextra_students = total_students % total_halls?while iterators:random.shuffle(iterators)for it in iterators[:]: ?# 遍歷每個迭代器try:_, student = next(it)student_data = student.to_dict()student_data["考場"] = hall_numberstudent_data["考號"] = seat_numberarranged_data.append(student_data)?seat_number += 1?if seat_number > students_per_hall + (1 if hall_number <= extra_students else 0):hall_number += 1seat_number = 1?if hall_number > total_halls:hall_number = 1except StopIteration:iterators.remove(it) ?# 當前iterator已遍歷完全,移除它?return arranged_data??def main():input_filename = "考場安排demo.xlsx"output_filename = "考場安排結果.xlsx"?total_halls = 24?df = load_data(input_filename)arranged_students = assign_seats(df, total_halls)arranged_df = pd.DataFrame(arranged_students)?save_data(arranged_df, output_filename)??if __name__ == "__main__":main()

重新給了提示語:座位號改為01、02、03...,添加了時間戳。

?電子表格”考場安排demo.xlsx“的字段為:班級、準考證號、學生姓名、考場、考號。其中考場、考號需要程序來安排的,請按以下要求給出python程序。1、總考場數為24個2、請平均分配每考場人數3、每個考場的座位號從01開始編號,依次為02, 03, 04,...。4、隨機安排學生,注意是隨機,但要保證在一個考場中相鄰兩條記錄,它們班級字段的值不相等。5、將安排好的結果以“考場安排結果+時間戳.xlsx"保存

很高興聽到程序已經很好地滿足了你的要求。為了確保最終程序完善且清晰,我將提供最終版本的Python代碼,該代碼完整處理各項要求,并生成考場安排結果文件:

  1. 總考場數為24個。

  2. 平均分配每考場人數。

  3. 每個考場的座位號從01開始編號,依次為02, 03, 04,...。

  4. 隨機安排學生,保證在一個考場中,相鄰兩條記錄的班級字段的值不相等。

  5. 將安排好的結果以“考場安排結果+時間戳.xlsx”保存。

代碼如下:?

import pandas as pdimport randomfrom openpyxl import Workbookfrom datetime import datetimeimport numpy as np?def load_data(filename):return pd.read_excel(filename)?def save_data(df, filename):df.to_excel(filename, index=False)?def assign_seats(df, total_halls):# 按班級分組并隨機打亂每個班級內部的順序grouped = df.groupby('班級')groups = [group.sample(frac=1).reset_index(drop=True) for _, group in grouped]# 創建調度器隊列,初始化為每個班級的iteratoriterators = [iter(group.iterrows()) for group in groups]?arranged_data = []hall_number = 1seat_number = 1total_students = len(df)students_per_hall = total_students // total_hallsextra_students = total_students % total_hallswhile iterators:random.shuffle(iterators)for it in iterators[:]:try:_, student = next(it)student_data = student.to_dict()student_data["考場"] = hall_numberstudent_data["考號"] = f"{seat_number:02d}" ?# 格式化為兩位字符arranged_data.append(student_data)seat_number += 1if seat_number > students_per_hall + (1 if hall_number <= extra_students else 0):hall_number += 1seat_number = 1if hall_number > total_halls:hall_number = 1except StopIteration:iterators.remove(it)return arranged_data?def main():input_filename = "考場安排demo.xlsx"total_halls = 24?df = load_data(input_filename)arranged_students = assign_seats(df, total_halls)arranged_df = pd.DataFrame(arranged_students)current_time = datetime.now().strftime("%Y%m%d_%H%M%S")output_filename = f"考場安排結果_{current_time}.xlsx"save_data(arranged_df, output_filename)print(f"已成功生成文件:{output_filename}")?if __name__ == "__main__":main()

讓gpt-4o進行了美化:

為了對導出的電子表格進行格式化美化,我們可以使用 pandasopenpyxl 模塊來提升電子表格的可讀性和視覺效果。這可能包括:

  1. 設置標題行的樣式(如背景顏色、字體加粗等)。

  2. 自動調整列寬。

  3. 為整個表格設置邊框。

  4. 設置單元格對齊方式。

以下是如何實現這些功能的代碼示例:?

import pandas as pdimport openpyxlfrom openpyxl.styles import Font, Alignment, PatternFill, Border, Sidefrom openpyxl.utils import get_column_letterfrom openpyxl.worksheet.worksheet import Worksheetimport randomfrom datetime import datetime?def load_data(filename):return pd.read_excel(filename)?def save_data(df, filename):df.to_excel(filename, index=False)format_excel(filename)?def assign_seats(df, total_halls):grouped = df.groupby('班級')groups = [group.sample(frac=1).reset_index(drop=True) for _, group in grouped]iterators = [iter(group.iterrows()) for group in groups]?arranged_data = []hall_number = 1seat_number = 1total_students = len(df)students_per_hall = total_students // total_hallsextra_students = total_students % total_hallswhile iterators:random.shuffle(iterators)for it in iterators[:]:try:_, student = next(it)student_data = student.to_dict()student_data["考場"] = hall_numberstudent_data["考號"] = f"{seat_number:02d}"arranged_data.append(student_data)seat_number += 1if seat_number > students_per_hall + (1 if hall_number <= extra_students else 0):hall_number += 1seat_number = 1if hall_number > total_halls:hall_number = 1except StopIteration:iterators.remove(it)return arranged_data?def format_excel(filename):wb = openpyxl.load_workbook(filename)ws = wb.active# 設置標題行的樣式for cell in ws[1]:cell.font = Font(bold=True, color="FFFFFF")cell.fill = PatternFill(start_color="4F81BD", end_color="4F81BD", fill_type="solid")cell.alignment = Alignment(horizontal="center", vertical="center")# 自動調整列寬for col in ws.columns:max_length = 0column = col[0].column_letter ?# 獲取列的字母for cell in col:try:if len(str(cell.value)) > max_length:max_length = len(str(cell.value))except:passadjusted_width = (max_length + 2)ws.column_dimensions[column].width = adjusted_width# 設置單元格邊框和對齊方式thin_border = Border(left=Side(style='thin'), right=Side(style='thin'), top=Side(style='thin'), bottom=Side(style='thin'))for row in ws.iter_rows(min_row=2, max_row=ws.max_row, min_col=1, max_col=ws.max_column):for cell in row:cell.border = thin_bordercell.alignment = Alignment(horizontal="center", vertical="center")wb.save(filename)?def main():input_filename = "考場安排demo.xlsx"total_halls = 24?df = load_data(input_filename)arranged_students = assign_seats(df, total_halls)arranged_df = pd.DataFrame(arranged_students)current_time = datetime.now().strftime("%Y%m%d_%H%M%S")output_filename = f"考場安排結果_{current_time}.xlsx"save_data(arranged_df, output_filename)print(f"已成功生成文件:{output_filename}")?if __name__ == "__main__":main()

美化步驟:

  1. 設置標題行樣式

    • 使用 Font 來設定字體加粗和顏色。

    • 使用 PatternFill 來設定標題行的背景顏色。

    • 使用 Alignment 來設置標題單元格內容居中。

  2. 自動調整列寬

    • 遍歷每一列,計算列中最長的單元格內容長度,并據此設置列寬,使得內容完整顯示。

  3. 設置單元格邊框和對齊方式

    • 使用 BorderSide 來為每個單元格加上細邊框。

    • 對每個單元格設置居中對齊 Alignment

????????這樣設置后,生成的Excel文件在視覺上會更加整潔和美觀,并且更符合傳統表格的排版格式。可以在正式運行前用少量數據進行測試。

完整示例代碼如下:

  1. 引入 openpyxl:添加 import openpyxl

  2. 設置適當的頁邊距、行高和打印設置

  3. 在代碼最后保存并提示用戶文件已生成

?import pandas as pdimport randomimport openpyxlfrom openpyxl.styles import Font, Alignment, PatternFill, Border, Sidefrom openpyxl.utils import get_column_letterfrom openpyxl.worksheet.page import PageMarginsfrom datetime import datetime?def load_data(filename):return pd.read_excel(filename)?def save_data(df, filename):df.to_excel(filename, index=False)format_excel(filename)?def assign_seats(df, total_halls):grouped = df.groupby('班級')groups = [group.sample(frac=1).reset_index(drop=True) for _, group in grouped]iterators = [iter(group.iterrows()) for group in groups]?arranged_data = []hall_number = 1seat_number = 1total_students = len(df)students_per_hall = total_students // total_hallsextra_students = total_students % total_hallswhile iterators:random.shuffle(iterators)for it in iterators[:]:try:_, student = next(it)student_data = student.to_dict()student_data["考場"] = hall_numberstudent_data["考號"] = f"{seat_number:02d}"arranged_data.append(student_data)seat_number += 1if seat_number > students_per_hall + (1 if hall_number <= extra_students else 0):hall_number += 1seat_number = 1if hall_number > total_halls:hall_number = 1except StopIteration:iterators.remove(it)return arranged_data?def format_excel(filename):wb = openpyxl.load_workbook(filename)ws = wb.active# 設置標題行的樣式for cell in ws[1]:cell.font = Font(bold=True, color="FFFFFF")cell.fill = PatternFill(start_color="4F81BD", end_color="4F81BD", fill_type="solid")cell.alignment = Alignment(horizontal="center", vertical="center")# 自動調整列寬for col in ws.columns:max_length = 0column = col[0].column_letterfor cell in col:try:if len(str(cell.value)) > max_length:max_length = len(str(cell.value))except:passadjusted_width = (max_length + 2)ws.column_dimensions[column].width = adjusted_width# 設置行高(適當調整以適應A4紙)for row in range(1, ws.max_row + 1):ws.row_dimensions[row].height = 18 ?# 行高設置為18像素# 設置單元格邊框和對齊方式thin_border = Border(left=Side(style='thin'), right=Side(style='thin'), top=Side(style='thin'), bottom=Side(style='thin'))for row in ws.iter_rows(min_row=2, max_row=ws.max_row, min_col=1, max_col=ws.max_column):for cell in row:cell.border = thin_bordercell.alignment = Alignment(horizontal="center", vertical="center")# 設置頁邊距ws.page_margins = PageMargins(left=0.5, right=0.5, top=0.5, bottom=0.5)# 設置打印區域(每張A4紙顯示一個考場)total_halls = 24total_students = ws.max_row - 1 ?# 排除標題行students_per_hall = total_students // total_hallsextra_students = total_students % total_halls?for hall_number in range(1, total_halls + 1):min_row = 2 + (hall_number - 1) * (students_per_hall + (1 if hall_number <= extra_students else 0))max_row = min_row + students_per_hall + (1 if hall_number <= extra_students else 0) - 1?ws.print_area = f"A1:E{max_row}"?# 配置頁面設置ws.page_setup.orientation = 'portrait'ws.page_setup.paperSize = ws.PAPERSIZE_A4ws.page_setup.fitToWidth = Truews.page_setup.fitToHeight = False?wb.save(filename)?def main():input_filename = "考場安排demo.xlsx"total_halls = 24?df = load_data(input_filename)arranged_students = assign_seats(df, total_halls)arranged_df = pd.DataFrame(arranged_students)current_time = datetime.now().strftime("%Y%m%d_%H%M%S")output_filename = f"考場安排結果_{current_time}.xlsx"save_data(arranged_df, output_filename)print(f"已成功生成文件:{output_filename}")?if __name__ == "__main__":main()

關鍵美化與打印設置說明:

  1. 自動調整列寬:根據單元格內容自動調整列寬,以適應打印輸出。

  2. 設置標題行的樣式:加粗并設置標題行字體顏色和背景顏色,使其與數據行區別開來。

  3. 設置行高:設置統一的行高(18像素)以適應A4紙打印要求。

  4. 設置單元格邊框和對齊方式:所有單元格增加邊框和居中對齊。

  5. 設置頁邊距:為頁面設置合適的頁邊距(0.5英寸)。

  6. 設置打印區域:每個考場的安排顯示在一張A4紙上。

????????現在,運行程序將生成已格式化和打印優化的Excel文件,包含每個考場的安排,并輸出為設置在A4紙上的頁邊距和打印區域。

運行后的結果:

a2504e4da93e4d679a23604cde58c378.png

????????這里展示了兩個考場,相鄰的兩個考生看上去來至于不同的班級。由于各班級人數不等,有的班級人數過多,最后一個考場有幾個相同班的學生連在一起。

ad74ce27924c4aeab551c7b929c8d5ad.png

如何解決這個問題??

請通過一個函數檢查最后輸出的結果,如果有相鄰的考生來至于同一個班級,請參照前面的安排,適當的調整,全部安排,保證相鄰的考生來至于不同的班級?要確保沒有相鄰的考生來自同一個班級,我們需要一個后處理函數來檢查最終的座位安排,并在發現問題時進行調整。以下是一個改進方案,它在安排考位之后,通過檢查并調整相鄰考生的班級來防止同一班級的考生相鄰:?“將相鄰的學生和隨后找到的另一個班級的學生交換位置”, 這個算法不完全正確。隨后仍然可能是一個班級,應該是從前面已排的學生中尋找滿足以下條件的記錄進行調換:這個學生前后都與調整的學生班級不一樣?現在給出的結果,沒有連續幾個來至同一個班級的考生了,但還是有相鄰兩個來至于同一個班,請調整后,重新調用檢查函數,直到不再有相鄰學生來至于一個班級?為了確保相鄰的學生不來自同一個班級,我們可以用一個循環不斷地檢查并調整座位安排,直到沒有相鄰考生來自同一個班級為止。我們可以在`check_and_adjust_seating`函數中用一個布爾值標記調整是否完成,如果發現有相鄰的學生來自同一個班級,則進行調整并再次檢查。?### 改進內容:1. 修改了`check_and_adjust_seating`函數,確保在調整座位后再一次檢查是否有相鄰的考生來自同一個班級。如果有相鄰的考生來自同一個班級,則繼續調整,直到沒有相鄰的考生來自同一個班級。2. 用一個布爾值`adjusted`跟蹤是否進行了調整,如果進行了調整則繼續檢查,否則結束循環。?這樣可以確保最終輸出的結果中沒有相鄰兩個考生來自同一個班級。?調整后,應該反復從開始驗證,最終確保最終輸出的結果中沒有相鄰兩個考生來自同一個班級,只給出調整函數

最后結果

????????看上去已經沒有相鄰兩個考生來自同一個班級,實際上gpt只是調整記錄位置,考場號和座位號還是原來的值,讓gpt從新分配考場號和座位號

?import pandas as pdimport randomimport openpyxlfrom openpyxl.styles import Font, Alignment, PatternFill, Border, Sidefrom openpyxl.worksheet.page import PageMarginsfrom datetime import datetime??def load_data(filename):return pd.read_excel(filename)??def save_data(df, filename):df.to_excel(filename, index=False)format_excel(filename, df)??def assign_seats(df, total_halls):grouped = df.groupby('班級')groups = [group.sample(frac=1).reset_index(drop=True) for _, group in grouped]?# Sort groups by size (descending)groups.sort(key=lambda x: len(x), reverse=True)?iterators = [iter(group.iterrows()) for group in groups]arranged_data = []hall_number = 1seat_number = 1?total_students = len(df)students_per_hall = total_students // total_hallsextra_students = total_students % total_halls?while iterators:# Shuffle iterators to ensure randomnessrandom.shuffle(iterators)for it in iterators[:]:try:_, student = next(it)student_data = student.to_dict()student_data["考場"] = hall_numberstudent_data["考號"] = f"{seat_number:02d}"arranged_data.append(student_data)seat_number += 1?# Check if seat number exceeds the allowed number of students per hallif seat_number > students_per_hall + (1 if hall_number <= extra_students else 0):hall_number += 1seat_number = 1# Reset hall number if it exceeds total hallsif hall_number > total_halls:hall_number = 1except StopIteration:iterators.remove(it)?return arranged_data??def check_and_adjust_seating(arranged_data):def has_adjacent_same_class(data):# Check if there are any adjacent students from the same classfor i in range(len(data) - 1):if data[i]['班級'] == data[i + 1]['班級']:return ireturn -1?def find_valid_swap(index, data):# Find a valid swap by checking front part of the list before the indexcurrent_class = data[index]['班級']for j in range(len(data)):if j != index and data[j]['班級'] != current_class:# Ensure new surrounding are validif (j == 0 or data[j - 1]['班級'] != current_class) and (j == len(data) - 1 or data[j + 1]['班級'] != current_class):return jreturn -1?swap_operations = []while True:index = has_adjacent_same_class(arranged_data)if index == -1:break  # No adjacent students from the same classswap_index = find_valid_swap(index + 1, arranged_data)if swap_index == -1:raise ValueError("Cannot find a valid swap to adjust the seating arrangement.")# Record the swap operationswap_operations.append((index + 1, swap_index))# Swap the adjacent student with the valid studentarranged_data[index + 1], arranged_data[swap_index] = arranged_data[swap_index], arranged_data[index + 1]?# Additional check and swap if any, continue from the startwhile has_adjacent_same_class(arranged_data) != -1:index = has_adjacent_same_class(arranged_data)if index != -1:swap_index = find_valid_swap(index, arranged_data)if swap_index != -1:# Record the swap operationswap_operations.append((index, swap_index))arranged_data[index], arranged_data[swap_index] = arranged_data[swap_index], arranged_data[index]?return arranged_data, swap_operations??def reassign_seats(arranged_data, total_halls):hall_number = 1seat_number = 1total_students = len(arranged_data)students_per_hall = total_students // total_hallsextra_students = total_students % total_halls?for i, student in enumerate(arranged_data):student['考場'] = hall_numberstudent['考號'] = f"{seat_number:02d}"seat_number += 1?if seat_number > students_per_hall + (1 if hall_number <= extra_students else 0):hall_number += 1seat_number = 1if hall_number > total_halls:hall_number = 1?return arranged_data??def format_excel(filename, df):wb = openpyxl.load_workbook(filename)ws = wb.active?# 設置標題行的樣式for cell in ws[1]:cell.font = Font(bold=True, color="FFFFFF")cell.fill = PatternFill(start_color="4F81BD", end_color="4F81BD", fill_type="solid")cell.alignment = Alignment(horizontal="center", vertical="center")?# 自動調整列寬for col in ws.columns:max_length = 0column = col[0].column_letterfor cell in col:try:if len(str(cell.value)) > max_length:max_length = len(str(cell.value))except:passadjusted_width = (max_length + 20)ws.column_dimensions[column].width = adjusted_width?# 設置行高(適當調整以適應A4紙)for row in range(1, ws.max_row + 1):ws.row_dimensions[row].height = 23  # 行高設置為23像素?# 設置單元格邊框和對齊方式thin_border = Border(left=Side(style='thin'), right=Side(style='thin'), top=Side(style='thin'),bottom=Side(style='thin'))for row in ws.iter_rows(min_row=2, max_row=ws.max_row, min_col=1, max_col=ws.max_column):for cell in row:cell.border = thin_bordercell.alignment = Alignment(horizontal="center", vertical="center")?# 設置頁邊距ws.page_margins = PageMargins(left=0.5, right=0.5, top=0.5, bottom=0.5)?hall_groups = df.groupby('考場')?# 設置重復打印標題行ws.print_title_rows = '1:1'ws.print_title_cols = None?# 逐個考場設置打印區域for hall_number, hall_df in hall_groups:min_row = hall_df.index[0] + 2  # 加2以跳過標題行和數據框索引偏移max_row = hall_df.index[-1] + 2  # 加2以跳過標題行和數據框索引偏移?# 初始化 print area, configuration of page settings for each hallws.print_area = f"A1:E{max_row}"?# 配置頁面設置ws.page_setup.orientation = 'portrait'ws.page_setup.paperSize = ws.PAPERSIZE_A4ws.page_setup.fitToPage = Truews.page_setup.fitToWidth = 1ws.page_setup.fitToHeight = False  # 允許縱向頁面數自動擴展?wb.save(filename)??def main():input_filename = "11-15.xlsx"  # 修改為學生信息的電子表格名total_halls = 9  # 修改為考場數df = load_data(input_filename)arranged_students = assign_seats(df, total_halls)adjusted_students, swap_operations = check_and_adjust_seating(arranged_students)final_students = reassign_seats(adjusted_students, total_halls)arranged_df = pd.DataFrame(final_students)current_time = datetime.now().strftime("%Y%m%d_%H%M%S")output_filename = f"考場安排結果_{current_time}.xlsx"save_data(arranged_df, output_filename)print(f"已成功生成文件:{output_filename}")??if __name__ == "__main__":main()

??最后在Microsoft Excel 中檢測相鄰單元格值是否相等

  1. 選擇數據區域

    • 選擇你想要檢查的單元格區域。例如,假設你要檢查從A2到A100的單元格。

  2. 打開條件格式

    • 在Excel的“開始”選項卡上,點擊“條件格式”。

  3. 創建新的規則

    • 在“條件格式”下拉菜單中,選擇“新建規則”。

  4. 使用公式來檢測

    • 在“選擇規則類型”窗口,選擇“使用公式確定要設置格式的單元格”。

    • 在“為符合此公式的值設置格式”框中輸入適當的公式。例如,如果你檢查A列中的相鄰單元格,可以使用公式:

      ?=A2=A1
    • 然后你可以設置條件匹配時應用的格式,如填充顏色或字體顏色等。

  5. 應用條件格式

    • 設置好格式后,點擊“確定”。這個操作將會在指定區域內自動應用條件格式。如果兩個相鄰單元格的值相同,它們將會被醒目地突出顯示。

18ff496f866340fba7aad911d547df6f.png

程序已完全符合要求。

食用方法

確保你安裝了所需庫:

?pip install pandas openpyxl numpy

1、表結構

136b48d33f46485da1f237f794cd2e28.png

2、修改input_filename的值 ,此變量存儲的是學生信息的電子表格名,擴展名為.xlsx

3、修改total_halls的值,此變量存儲的是考場個數

4、如果要分類安排考場,可將各層次學生分別建立對應的電子表格文件。

運行程序后,將生成一個已經格式化美化好的Excel文件。

如果有好的建議歡迎交流!!!,食用過程中錯誤請評論區給出!!!

?

?

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/web/14088.shtml
繁體地址,請注明出處:http://hk.pswp.cn/web/14088.shtml
英文地址,請注明出處:http://en.pswp.cn/web/14088.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

Android-多個tv_item_[i] 點擊事件簡寫

private TextView[] tvConstellations new TextView[12];//獲取當前id元素并在其點擊的時候修改其顏色 for (int i 0; i < 12; i) {int resId getResources().getIdentifier("tv_constellation_" (i1), "id", getPackageName());tvConstellations[i…

神經網絡與深度學習 課程復習總結

神經網絡的發展歷史 第一代神經網絡&#xff08;1958~1969&#xff09; MCP模型&#xff08;1943年&#xff09;&#xff1a;麥卡洛克和皮茨提出了第一個人工神經元模型&#xff0c;簡化為輸入信號線性加權、求和、非線性激活&#xff08;閾值法&#xff09;。感知器&#xf…

鴻蒙開發 組件之間的傳值

1.Prop&#xff1a;父組件傳遞給子組件&#xff0c;單向傳遞&#xff0c;子組件改變值&#xff0c;父組件UI不更新。 引入子組件 并賦值&#xff0c;子組件用Prop 接收 import headerView from ../../common/bean/BaseNavHeaderView headerView({titlestr:添加地址,isback…

go slice 擴容

擴容 slice 會遷移到新的內存位置&#xff0c;新底層數組的長度也會增加&#xff0c;這樣就可以放置新增的元素。同時&#xff0c;為了應對未來可能再次發生的 append 操作&#xff0c;新的底層數組的長度&#xff0c;也就是新 slice 的容量是留了一定的 buffer 的。否則&…

【C++】STL快速入門基礎

文章目錄 STL&#xff08;Standard Template Library&#xff09;1、一般介紹2、STL的六大組件2.1、STL容器2.2、STL迭代器2.3、相關容器的函數vectorpairstringqueuepriority_queuestackdequeset, map, multiset, multimapunordered_set, unordered_map, unordered_multiset, …

LabVIEW2022安裝教程指南【附安裝包】

文章目錄 前言一、安裝指南1、軟件包獲取 二、安裝步驟總結 前言 LabVIEW是一種程序開發環境&#xff0c;提供一種圖形化編程方法&#xff0c;可可視化應用程序的各個方面&#xff0c;包括硬件配置、測量數據和調試&#xff0c;同時可以通過FPGA數學和分析選板中的NI浮點庫鏈接…

有趣的css - 兩個圓形加載效果

大家好&#xff0c;我是 Just&#xff0c;這里是「設計師工作日常」&#xff0c;今天分享的是一款小清新的加載動畫&#xff0c;適用于 app 列表加載&#xff0c;頁面加載或者彈層內容延遲加載等場景。 最新文章通過公眾號「設計師工作日常」發布。 目錄 整體效果核心代碼html…

AWS安全性身份和合規性之Amazon Macie

Amazon Macie是一項數據安全和數據隱私服務&#xff0c;它利用機器學習&#xff08;ML&#xff09;和模式匹配來發現和保護敏感數據。可幫助客戶發現、分類和保護其敏感數據&#xff0c;以及監控其數據存儲庫的安全性。 應用場景&#xff1a; 敏感數據發現 一家金融服務公司…

20年交易老兵悟出的寶貴經驗,做到這10點或許你也能躺著賺錢

交易要靠親身體驗來真正獲得發展&#xff0c;在正確引導下&#xff0c;我們就不會把時間和精力浪費在彎路上。交易之技易學&#xff0c;實難在心態與思考。接下來&#xff0c;我將與您分享一位交易了20年的老兵所積累的10條珍貴經驗。 Nial Fuller,一個交易了接近20年的市場“老…

Git遠程控制

文章目錄 1. 創建倉庫1.1 Readme1.2 Issue1.3 Pull request 2. 遠程倉庫克隆3. 推送遠程倉庫4. 拉取遠程倉庫5. 配置Git.gitignore配置別名 使用GitHub可以&#xff0c;采用Gitee也行 1. 創建倉庫 1.1 Readme Readme文件相當于這個倉庫的說明書&#xff0c;gitee會初始化2兩份…

go mod模式下,import gitlab中的項目

背景 為了go項目能夠盡可能復用代碼&#xff0c;把一些公用的工具類&#xff0c;公用的方法等放到共用包里統一管理。把共用包放到gitlab的私有倉庫中。 遇到的問題 通過https方式&#xff0c;執行go get報了錯誤。 通過ssh方式&#xff0c;執行go get報了錯誤。 修改配置&am…

介紹一個免費的在線pdf轉word網站

Smallpdf.com - A Free Solution to all your PDF Problems 轉換效果不錯&#xff0c;比那些收費的軟件強多了&#xff0c;主要是免費的&#xff01;

面試八股之MySQL篇2——索引篇

&#x1f308;hello&#xff0c;你好鴨&#xff0c;我是Ethan&#xff0c;一名不斷學習的碼農&#xff0c;很高興你能來閱讀。 ??目前博客主要更新Java系列、項目案例、計算機必學四件套等。 &#x1f3c3;人生之義&#xff0c;在于追求&#xff0c;不在成敗&#xff0c;勤通…

Springboot階段項目---《書城項目》

一 項目介紹 本項目采用集成開發平臺IntelliJ IDEA開發了在線作業成績統計系統的設計與實現&#xff0c;實現了圖書商城系統的綜合功能和圖形界面的顯示&#xff0c;可以根據每個用戶登錄系統后&#xff0c;動態展示書城首頁圖書&#xff0c;實現了分類還有分頁查詢&#xff0c…

進程、線程——面經(一)

1、什么是進程&#xff08;Process&#xff09;&#xff0c;線程&#xff08;Thread&#xff09;&#xff0c;有什么區別&#xff1f; 進程&#xff08;Process&#xff09;&#xff1a; 定義&#xff1a; 進程是一個獨立的執行環境&#xff0c;它擁有獨立的內存空間&#xf…

Linux應用入門(二)

1. 輸入系統應用編程 1.1 輸入系統介紹 常見的輸入設備有鍵盤、鼠標、遙控桿、書寫板、觸摸屏等。用戶經過這些輸入設備與Linux系統進行數據交換。這些設備種類繁多&#xff0c;如何去統一它們的接口&#xff0c;Linux為了統一管理這些輸入設備實現了一套能兼容所有輸入設備的…

怎么壓縮pdf pdf在線壓縮 pdf文件壓縮大小

pdf文件無論在何種設備上打開&#xff0c;PDF文件都能保持其原始的布局和格式&#xff0c;這對于文檔共享和打印非常重要。PDF不僅支持文本&#xff0c;還能嵌入圖像、視頻、音頻以及動態鏈接等元素。PDF文件支持加密和密碼保護&#xff0c;可以限制訪問、編輯、復制或打印文檔…

C語言----深入理解指針(3)

1.字符指針變量 //int main() //{ // char ch w; // char*pc&ch; // printf("%c", *pc); // return 0; //}/*int main() {//char* p "abcdef";//char arr[] "abcdef";//常量字符串 a b c d e f \0//char* pc arr;//將數組首…

高防IP是什么意思?

在網絡安全中&#xff0c;企業和用戶經常會受到網絡攻擊和流量攻擊&#xff0c;比如DDOS攻擊和CC攻擊等&#xff0c;那么對于這些網絡攻擊&#xff0c;企業和用戶有什么解決方案呢&#xff1f; 對于網絡攻擊&#xff0c;高防IP是一種針對網絡攻擊和分布式拒絕服務攻擊設計的IP解…

【002】FlexBison原理分析

0. 前言 Flex和Bison是用于構建處理結構化輸入的程序的工具。它們最初是用于構建編譯器的工具&#xff0c;但它們已被證明在許多其他領域都很有用。 &#xfeff; 在第一章中&#xff0c;我們將首先看一點(但不是太多)它們背后的理論&#xff0c;然后我們將深入研究一些使用它…