اذهب إلى المحتوى

لوحة المتصدرين

  1. Ahmed Ahmed64

    Ahmed Ahmed64

    الأعضاء


    • نقاط

      2

    • المساهمات

      222


  2. Mustafa Suleiman

    Mustafa Suleiman

    الأعضاء


    • نقاط

      2

    • المساهمات

      13209


  3. Chihab Hedidi

    Chihab Hedidi

    الأعضاء


    • نقاط

      2

    • المساهمات

      2064


  4. عمار معلا

    عمار معلا

    الأعضاء


    • نقاط

      2

    • المساهمات

      465


المحتوى الأكثر حصولًا على سمعة جيدة

المحتوى الأعلى تقييمًا في 11/27/23 في كل الموقع

  1. السلام عليكم ورحمة الله وبركاته انا جديد في اكاديمية حسوب ولا اعرف بما يجب علي ان ابدا به انا سجلت في دورة علوم الحاسوب بمادا تنصحوني ابدا في اي فيديو. وجزاكم الله خيرا
    1 نقطة
  2. السلام عليكم كيف يتم تخزين البيانات فيه الداكرة ؟ وهل يوجد مقال علي اكادميه حاسوب بيتكلام عن انواع البيانات وكيف يتم تخزين البيانات ؟ وهل لغه باثيون بتعمل مع الداكرة زي لغة سي او جافا صح ؟
    1 نقطة
  3. تماما لا تشغل بالك بهذه المهمة فبايثون تقوم بإدارة الذاكرة بدلا عنك
    1 نقطة
  4. في البداية يجب عليك معرفة أن بايثون مبنيه على سي بلس بلس مع ذلك فأن بايثون تقوم بإدارة الذاكرة تلقائيا، بينما في سي بلس بلس يتعيين على المبرمج إدارة الذاكرة يدويا في بايثون، يتم استخدام مفهوم (Garbage Collection) وهذ يعني أن الذاكرة التي لم تعد مستخدمة سيتم تحريرها تلقائيًا دون تدخل المبرمج، لاحظ الكود التالي b = 10 b = 50 عندما يتم تغيير قيمة المتغير "b" إلى 50 في السطر، ستتم إزالة القيمة السابقة 10 من الذاكرة تلقائيًا في سي بلس بلس، يتعين على المبرمج إدارة الذاكرة يدويًا كما ذكرت، يقع على عاتق المبرمج تخصيص الذاكرة وتحريرها يدويًا، على سبيل المثال، في الكود التالي: int main() { int *pointer = new int; // تخصيص ذاكرة *pointer = 10; delete pointer; // تحرير ذاكرة return 0; } في التعليق الأول يتم تخصيص ذاكرة جديدة باستخدام "new" عبر مفهوم المؤشرات حيث أن int يستهلك 4 بايتات من الذاكرة وبالتالي تم تخصيص هذه المساحة لنضع فيها القيمة 10 وبعدها تم تعيين قيمة المؤشر إلى 10 ثم في التعليق الثاني تم تحرير الذاكرة باستخدام "delete" يدويًا من قبل المبرمج، مما يعني أن الذاكرة التي تم تخصيصها لتخزين القيمة 10 ستتم تحريرها. وهذا هو الفرق بينهما في إدارة الذاكرة فبايثون تقوم بإدارة الذاكرة تلقائيًا دون تدخل المبرمج مما يجعلها أكثر سهولة للاستخدام وأقل عرضة لأخطاء إدارة الذاكرة مقارنة بسي بلس بلس التي يعتمد إدارة الذاكرة لديها على المبرمج تستطيع قراءة هذا المقال عن إدارة الذاكرة في لغة c
    1 نقطة
  5. السلام عليكم لدي ملف إكسل إستخدمت مكتبة openpyxl في إستدعائه بهذه الكود DB=load_workbook("إسم الملف") DS=DB["إسم ورقة العمل"] حيث أني قمت بإستدعاء الملف ومن ثم قمت بإستدعاء ورقة العمل التي أريد العمل عليها أود أن أحفظ نتيجة العمل في ملف إكسل منفرد جديد مع الشيت الذي عملت عليه فقط دون باقي أوراق العمل
    1 نقطة
  6. يمكنك القيام بذلك ستحتاج أولا لإستدعاء الملف للحصول على أسماء أوراق العمل، بعدها تعرضها للمستخدم من أجل اختيار الورقة المناسبة، و في الأخير نجري التغييرات و نسجلها في الملف الجديد: import os from openpyxl import load_workbook import pandas as pd def display_sheet_names(file_path): # استدعاء الملف DB = load_workbook(file_path) # الحصول على أسماء أوراق العمل sheet_names = DB.sheetnames print("أسماء أوراق العمل:") for i, sheet_name in enumerate(sheet_names, start=1): print(f"{i}. {sheet_name}") # اختيار ورقة العمل sheet_choice = int(input("الرجاء اختيار رقم الورقة: ")) selected_sheet_name = sheet_names[sheet_choice - 1] return DB[selected_sheet_name] def main(): # إدخال اسم الملف file_name = input("الرجاء إدخال اسم الملف: ") file_path = os.path.join(os.getcwd(), file_name) # عرض أسماء أوراق العمل واختيار ورقة العمل DS = display_sheet_names(file_path) # تحويل بيانات ورقة العمل إلى DataFrame data = DS.values columns = [cell.value for cell in next(data)] df = pd.DataFrame(data, columns=columns) # يمكنك هنا إجراء العمليات التي تحتاجها على DataFrame # إنشاء ملف Excel جديد وحفظ DataFrame فيه new_file_name = input("الرجاء إدخال اسم ملف الحفظ: ") new_file_path = os.path.join(os.getcwd(), new_file_name) df.to_excel(new_file_path, index=False) print(f"تم حفظ البيانات في ملف {new_file_name}") if __name__ == "__main__": main()
    1 نقطة
  7. أشكرك على الإجابة الوافيه بارك الله فيك أخي أحاول أن أطبق فكرة وأنا على يقين أنها لن تستصعب عليك أخي أريد أن يتم العمل من خلال سكربت فقط في البداية سوف أخرج رسالة للمستخدم يقوم بإدخال إسم الملف وعند الضغط تظهر أسماء أوراق العمل الخاصة بالملف على شكل إختيار 1 مثلا_ورقة عمل (1) 2 مثلا_ورقة عمل (2) 3 مثلا_ورقة عمل (3) عند إختيار رقم 2 على سبيل المثال تتخزن القيمة في متغير DS DS=DB["إسم ورقة العمل"] كيف أقوم بعمل هذا السكربت الرجاء التوضيح
    1 نقطة
  8. يمكنك القيام بذلك سواء بمكتبة openpyxl او pandas: بالطريقة التالية: from openpyxl import Workbook, load_workbook # استدعاء الملف وورقة العمل DB = load_workbook("اسم الملف.xlsx") DS = DB["اسم ورقة العمل"] # قم بتنفيذ العمليات التي تحتاج إليها على ورقة العمل # إنشاء ملف Excel جديد new_workbook = Workbook() new_sheet = new_workbook.active # نسخ البيانات من ورقة العمل الأصلية إلى ورقة العمل الجديدة for row in DS.iter_rows(values_only=True): new_sheet.append(row) # حفظ ملف Excel الجديد new_workbook.save("اسم ملف الحفظ.xlsx") اذا كنت تريد استخدام مكتبة pandas قم بالأمر التالي: import pandas as pd from openpyxl import load_workbook # استدعاء الملف وورقة العمل DB = load_workbook("اسم الملف.xlsx") DS = DB["اسم ورقة العمل"] # تحويل بيانات ورقة العمل إلى DataFrame data = DS.values columns = [cell.value for cell in next(data)] df = pd.DataFrame(data, columns=columns) # قم بتنفيذ العمليات التي تحتاج إليها على DataFrame # إنشاء ملف Excel جديد وحفظ DataFrame فيه df.to_excel("اسم ملف الحفظ.xlsx", index=False)
    1 نقطة
  9. نقوم بتثبيت المكتبات اللازمة: expo install expo-notifications expo-permissions بعد ذلك عليك إنشاء ملف لإدارة الإشعارات (مثلاً: NotificationManager.js) وضعي به الكود التالي: import * as Notifications from 'expo-notifications'; import * as Permissions from 'expo-permissions'; export async function registerForPushNotificationsAsync() { const { status: existingStatus } = await Permissions.getAsync(Permissions.NOTIFICATIONS); let finalStatus = existingStatus; if (existingStatus !== 'granted') { const { status } = await Permissions.askAsync(Permissions.NOTIFICATIONS); finalStatus = status; } if (finalStatus !== 'granted') { console.log('Permission to receive push notifications denied'); return; } const tokenData = await Notifications.getExpoPushTokenAsync(); const token = tokenData.data; return token; } export async function sendNotification(title, body) { const token = await registerForPushNotificationsAsync(); await Notifications.scheduleNotificationAsync({ content: { title: title, body: body, data: { data: 'goes here' }, }, trigger: null, to: token, }); } الآن تستطيعي استخدام ذلك الملف في مكان آخر في تطبيقك لإرسال الإشعارات، وتحديث مكون Picker ليستدعي وظيفة sendNotification عندما يتم اختيار قيمة جديدة، كالتالي: import React, { useState } from 'react'; import { Picker, View } from 'react-native'; import { sendNotification } from './NotificationManager'; export default function MyComponent() { const [selectedValue, setSelectedValue] = useState("option1"); const handlePickerChange = (itemValue, itemIndex) => { setSelectedValue(itemValue); sendNotification('Picker Selected', `You selected: ${itemValue}`); }; return ( <View> <Picker selectedValue={selectedValue} onValueChange={handlePickerChange} > <Picker.Item label="Option 1" value="option1" /> <Picker.Item label="Option 2" value="option2" /> <Picker.Item label="Option 3" value="option3" /> </Picker> </View> ); }
    1 نقطة
  10. حاولي حذف الـ Data الخاصة بتطبيق EXPO GO على المحاكي. أو استخدام دالة clear لحذف جميع البيانات المخذنة: Asyncstorage.clear()
    1 نقطة
×
×
  • أضف...