🐍 Python & Raspberry 🐍
8.08K subscribers
1.92K photos
125 videos
623 files
1.23K links
Python- Raspberry Pi-AI-IOT
ادمین : فرهاد ناصری زاده
@farhad_naserizadeh
@farhad3412

گروه پایتون
@Python_QA
تبادل
@mmtahmasbi
کانال مرتبط
@new_mathematical
@micropython_iot
@c_micro
اینستاگرام
http://Instagram.com/python_raspberry
Download Telegram
خروجی کد بالاچیست؟

@raspberry_python
خروجی کد بالا چیست ؟
Final Results
32%
۳
30%
۲
17%
نمیدونم
22%
error
This media is not supported in your browser
VIEW IN TELEGRAM
یه نمونه portfolio خلاقانه و زیبا :

https://pranavprakasan07.github.io/Portfolio/

اگه با گوشی نیستین میتونین لینک بالا رو باز کنید و خودتون امتحان کنید.
برنامه نویسی متلب Matlab

📚 دسترسی به راهنمای نرم افزار
demo , help , helpdesk , helpwin , doc , lookfor

📚 مدیریت current directory
what , which , cd , delete , dir
📚 نحوه نمایش اعداد
format (rat,long,short,...)
📚 ورودی گرفتن از کاربر
input,inputdlg,...
📚 نمایش خروجی
disp , fprintf , sprintf , …
📚 مدیریت متلب
exit , quit , startup,...
📚 توابع منطقی
all , any , exist , logical , is* , find,...

#آموزش #دسته_بندی
Matlab | برنامه نویسی متلب
@Matlab_MathWorks
دانلود عکس پروفایل اینستاگرام با پایتون

@raspberry_python
Forwarded from SUT Twitter
اول باور نکردم.
خودم رفتم کتاب را دیدم.
بیخود نیست که کتاب‌های تاریخ و اجتماعی و... منفورترین کتابها نزد دانش‌آموزان هستند.

«عباس عبدی»

@sut_tw
کدوم گزینه مقداری *دقیقا* برابر با 0.3 داره؟ (کلاس Decimal از لایبرری decimal ایمپورت شده است)
Final Results
20%
0.1 + 0.2
19%
float(Decimal(0.1) + Decimal(0.2))
20%
float('0.1') + float('0.2')
18%
float(Decimal('0.1') + Decimal('0.2'))
9%
.1 + .2
14%
float(Decimal(.1) + Decimal(.2))
السلام علیک یا قتیل العبرات

عاشورای حسینی تسلیت باد.
طبق گفته دوستان توی نسخه‌های جدید پایچارم نمیشه از اون افزونه تریال ریست استفاده کرد (شاید در اینده اپدیت کنن البته افزونه رو) اما اگه میخواید پایچارمتون رو اپدیت کنید باید از این چیزایی ک تو این لینک هست استفاده کنید برای تریال ریست کردن پایچارمتون

https://gist.github.com/shahadul878/5f33b90e55c1655aee05fa239ec1b978


@raspberry_python
🐍 Python & Raspberry 🐍
کدوم گزینه مقداری *دقیقا* برابر با 0.3 داره؟ (کلاس Decimal از لایبرری decimal ایمپورت شده است)
📸 تحلیل سوال
📀 احتمالا با این مشکل معروف مواجه شدید یا جایی دیدید:
>>> 0.1 + 0.2 == 0.3
False
>>> 0.1 + 0.2
0.30000000000000004
اما چرا این اتفاق میفته؟ بذارید قبل از ورود به اصل مطلب، کمی حساب کتاب عادی انجام بدیم! فرض کنیم مقدار «یک‌هفتادم» رو از شما [در مبنای ۱۰ خودمون!] خواستن، میدونید که یک عدد اعشاری بدست میاد که انتهایی نداره!
0.0142857142857142857...
برای کامپیوتر هم، به همین شکل! منتهی مبنایی که برای کارهای خودش بکار میبره، مبنای ۲ هست. و وقتی اعدادی مثل ۰.۱ («یک‌دهم» در مبنای ده) رو بهش میدید، به یک عدد اعشاری در مبنای ۲ تبدیل میکنه، و عدد حاصل، اینجا هم انتهایی نداره!
0.00011001100110011001...
برای همین، پایتون - مثل خیلی از زبان‌ها - تا یک جایی تعداد ارقام رو حساب میکنه. مثلا برای 0.1 و 0.2:
0.1 -> 0.0001100110011001100110011001100110011001100110011001101

0.2 -> 0.001100110011001100110011001100110011001100110011001101
که وقتی دوباره میخواد توی مبنای ده نشون بده، همچین چیزی میشه و [احتمالا!] همچین چیزی ببینید:
0.1 -> 0.1000000000000000055511151231257827021181583404541015625

0.2 -> 0.200000000000000011102230246251565404236316680908203125
🔭 برای گرفتن این مقدار، می‌تونید از سایت زیر استفاده کنید:
https://www.exploringbinary.com/floating-point-converter/

👈 به همین ترتیب، کار با اعداد اعشاری، ممکن هست که کمی بالا و پایین داشته باشه! که البته تا وقتی که با مقادیر دقیق سر و کار ندارید، مشکل خاصی بوجود نمیاره.
‼️ دقت کنید که پایتون (درواقع: repr)، اعداد رو با تقریب بهتون نشون میده! مثلا وقتی ۰.۱ مینویسید، بعد از تبدیل، مقدار حاصل رو با تقریب ریزی نشون میده. مثلا:
>>> 0.1
0.1
>>> "{:.55f}".format(x)
'0.1000000000000000055511151231257827021181583404541015625'
پس دقت کنید که اکثر مواقع، عدد اعشاری با اندکی بالا و پایین شدن مقدار ذخیره شده؛ اما ممکن هست که بصورت تقریبی نمایش داده بشه، و سعی میکنه تا جای ممکن تقریب بزنه.

اما، اگه خواستیم حساب دقیقی داشته باشیم، تکلیف چیه؟ لایبرری decimal این مشکل رو حل میکنه:
>>> from decimal import Decimal
>>> Decimal('0.1') + Decimal('0.2')
Decimal('0.3')

‼️ حواستون باشه که عدد اعشاری رو در قالب float به Decimal ندید! چون خود اون عدد اعشاری هم، اول توسط پایتون پردازش میشه و باز هم کمی تقریب این وسط بوجود میاد:
>>> Decimal(0.1)
Decimal('0.1000000000000000055511151231257827021181583404541015625')
>>> Decimal(0.2)
Decimal('0.200000000000000011102230246251565404236316680908203125')
برای همین، باید در قالب رشته بدید تا مقدار رو دقیق نگهداره و محاسبه کنه.
⚠️ در گزینه‌ای که به عنوان جواب نهایی تلقی شد، یک ابهام وجود داره! در واقع، هدف از گذاشتن float، یکدست شدن typeها و float شدن بود، اما همچنان یک نکته وجود داره. وقتی که مینویسیم:
float(decimal.Decimal('0.3')) == 0.3
که decimal.Decimal('0.3') دقیقا برابر با حاصل decimal.Decimal('0.1') + decimal.Decimal('0.2') هست، ما True رو دریافت می‌کنیم! و واقعا هم همینطور هست! چون 0.3 در پایتون، در هر دو هست. اما این، همون 0.3 (کسر ۳ بر ۱۰) که ما در دنیای واقعی میشناسیم هست...؟ خیر! این رو ببینید:
>>> f"{0.3:.55f}"
'0.2999999999999999888977697537484345957636833190917968750'
>>> f"{float(decimal.Decimal('0.3')):.55f}"
'0.2999999999999999888977697537484345957636833190917968750'
برابرند، اما نه با اون چیزی که میگفتیم! :)
🙏🏻 از آقای @AmirSoroushh بابت تذکر و توضیحات و راهنمایی‌ها تشکر میکنم.
📕 منابع (برای مطالعه بیشتر و عمیق‌تر توصیه میشه) :
🔗 python3 doc > 3.9.6 > tutorial > 15. Floating Point Arithmetic: Issues and Limitations
🔗 cpython/Lib/_pydecimal.py source code
🔗 language agnostic - Is floating point math broken? - Stack Overflow

🆔 @raspberry_python
https://youtu.be/8r0ACg3iI3k

لامبدا شرایط خطرناکی برای کشورها به لحاظ شیوع کرونا رقم زده است، این واریانت خطرناک، سرایت‌پذیری و قدرت‌گریز از ایمنی بیشتری دارد و اثرگذاری واکسن‌ها را نشانه گرفته است.

به گزارش روز سه‌شنبه ایرنا از دانشگاه علوم پزشکی شهیدبهشتی، دکتر علیرضا ناجی با اشاره به اینکه حذف هفت آمینواسید در جهش واریانت لامبدا چالشی بزرگ پیش روی تست‌های تشخیصی است، افزود: به نظر می‌رسد واریانت لامبدا در حال تبدیل شدن به تهدید جدی جهانی است و تاکنون در ۲۹ کشور وریانت لامبدا شناسایی و ثبت شده است.

وی با تاکید بر اینکه واریانت لامبدا برای اولین بار در کشور پرو شناسایی شد، افزود: این کشور با ثبت ۵۹۶ مرگ در هر صد هزار نفر جمعیت، بالاترین مرگ و میرهای کرونایی را ثبت کرد که از این تعداد مبتلایان، ۹۷ درصد مربوط به واریانت لامبدا است.

استاد دانشگاه علوم پزشکی شهیدبهشتی ادامه داد: لهستان با ثبت ۳۰۷ مرگ کرونایی در روز بعد از کشور پرو رتبه دوم چرخش واریانت لامبدا را به خود اختصاص داده است.

instagram

#کرونا
#لامبدا
#Covid #Lambda #variant
Data types in Python

@raspberry_python
خیلی راست میگه😂😂

@raspberry_python
خروجی کد بالا چیست ؟
@raspberry_python
Forwarded from Python etc
Python 3.7 introduced Development Mode. The mode can be activated with the -X dev argument and it makes the interpreter produce some helpful warnings. For instance:

+ Unclosed files.
+ Unawaited coroutines.
+ Unknown encoding for str.encode (by default, it is unchecked for empty strings).
+ Memory allocation issues.

$ echo 'open("/dev/null")' > tmp.py
$ python3 -X dev tmp.py
tmp.py:1: ResourceWarning: unclosed file <_io.TextIOWrapper name='/dev/null' mode='r' encoding='UTF-8'>
open("/dev/null")
ResourceWarning: Enable tracemalloc to get the object allocation traceback
Machine Learning

@raspberry_python