This guide takes you from zero to writing real programs in the Urdu Programming Language. Every example is a complete, runnable .urdu file.
Prerequisites: Complete the Installation guide first.
اردو: یہ گائیڈ آپ کو بالکل شروع سے اردو پروگرامنگ لینگویج میں حقیقی پروگرام لکھنے تک لے جائے گی۔ ہر مثال ایک مکمل، قابلِ چلانے
.urduفائل ہے۔پیشگی ضرورت: پہلے انسٹالیشن گائیڈ مکمل کریں۔
Create a file called hello.urdu:
لکھو("السلام علیکم، دنیا!")
Run it:
python -m urdu run hello.urdu
Output:
السلام علیکم، دنیا!
لکھو() is the print function. It accepts any number of arguments separated by commas and prints them to the screen with a newline at the end.
اردو:
hello.urduنام کی فائل بنائیں اور اسے اوپر دی گئی کمانڈ سے چلائیں۔لکھو()پرنٹ فنکشن ہے — یہ جتنے بھی پیرامیٹر دیں (کاما سے جدا کر کے) سب کو اسکرین پر دکھا دیتا ہے اور آخر میں نئی لائن لگاتا ہے۔
Use متغیر to declare a variable (like let/var in JavaScript or just assigning in Python). Use مستقل for constants.
متغیر نام = "فاطمہ"
متغیر عمر = 22
متغیر قد = 5.6
مستقل زبان = "اردو"
لکھو("نام:", نام)
لکھو("عمر:", عمر)
لکھو("قد:", قد)
لکھو("زبان:", زبان)
Output:
نام: فاطمہ
عمر: 22
قد: 5.6
زبان: اردو
اردو: متغیر ڈکلیئر کرنے کے لیے
متغیرکلیدی لفظ استعمال کریں (جیسے JavaScript میںlet/varیا Python میں عام اسائنمنٹ)۔ مستقل (جو بعد میں تبدیل نہیں ہو سکتا) کے لیےمستقلاستعمال کریں۔
Use backtick strings with ${...} for embedding expressions:
متغیر نام = "علی"
متغیر عمر = 25
لکھو(`میرا نام ${نام} ہے اور میں ${عمر} سال کا ہوں`)
Output:
میرا نام علی ہے اور میں 25 سال کا ہوں
اردو: بیک ٹک (
`) والی سٹرنگز میں${...}کے اندر کوئی بھی اظہار (expression) لکھ سکتے ہیں — یہ خودبخود متن میں تبدیل ہو جائے گا۔
Tip: You can write numbers using Western digits (
0-9) or native Urdu digits (۰-۹) — they are identical to the language.۱۵and15are exactly the same value.
متغیر الف = 15 // Western digits
متغیر ب = ۴ // Urdu native digits — same as 4
لکھو("جمع: ", الف + ب) // 19
لکھو("تفریق:", الف - ب) // 11
لکھو("ضرب: ", الف * ب) // 60
لکھو("تقسیم:", الف / ب) // 3.75
لکھو("باقی: ", الف % ب) // 3
لکھو("قوت: ", الف ** ب) // 50625
لکھو("منزل: ", عدد(الف / ب)) // 3 (floor division)
متغیر تعداد = 10
تعداد += 5
لکھو(تعداد) // 15
تعداد *= 2
لکھو(تعداد) // 30
اردو: بنیادی ریاضی کے آپریٹرز:
+جمع،-تفریق،*ضرب،/تقسیم،%باقی،**قوت۔ منزل تقسیم (floor division) کے لیےعدد(a / b)استعمال کریں۔ مرکب اسائنمنٹ جیسے+=اور*=بھی کام کرتے ہیں۔
پڑھو() reads a line from the keyboard (like Python's input()). It always returns a string.
متغیر نام = پڑھو("آپ کا نام کیا ہے؟ ")
لکھو("خوش آمدید، " + نام + "!")
To read a number, convert the string:
متغیر عمر_متن = پڑھو("آپ کی عمر؟ ")
متغیر عمر = عدد_صحیح(عمر_متن)
لکھو("اگلے سال آپ کی عمر:", عمر + 1)
Built-in type conversion functions:
| Function | Description |
|---|---|
عدد_صحیح(x) |
Convert to integer |
عدد_اعشاری(x) |
Convert to float |
متن(x) |
Convert to string |
سچ_جھوٹ(x) |
Convert to bool |
فہرست(x) |
Convert to list |
اردو:
پڑھو()کیبورڈ سے ایک لائن پڑھتا ہے (پائتھن کےinput()جیسا)۔ یہ ہمیشہ متن (string) واپس کرتا ہے۔ اگر عدد چاہیے توعدد_صحیح()یاعدد_اعشاری()سے تبدیل کریں۔ اوپر جدول میں تمام قسم تبدیلی کے فنکشن دیے گئے ہیں۔
متغیر نمبر = 17;
اگر (نمبر > 0) {
لکھو("مثبت عدد");
} ورنہ_اگر (نمبر < 0) {
لکھو("منفی عدد");
} ورنہ {
لکھو("صفر");
}
Use اور (and), یا (or), نہیں (not):
متغیر نمبر = 55;
اگر (نمبر > 0 اور نمبر < 100) {
لکھو("صفر اور سو کے درمیان ہے");
}
اگر (نمبر < 0 یا نمبر > 200) {
لکھو("حد سے باہر");
}
اگر (نہیں (نمبر == 0)) {
لکھو("صفر نہیں ہے");
}
| Operator | Meaning |
|---|---|
== |
برابر |
!= |
برابر نہیں |
< |
چھوٹا |
> |
بڑا |
<= |
چھوٹا یا برابر |
>= |
بڑا یا برابر |
اردو: شرطیں لکھنے کے لیے
اگر،ورنہ_اگراورورنہاستعمال کریں۔ منطقی آپریٹرز:اور(اور)،یا(یا)،نہیں(نہیں)۔ موازنے کے لیے==،!=،<،>،<=،>=استعمال ہوتے ہیں۔
متغیر گنتی = 1;
جبکہ (گنتی <= 5) {
لکھو("گنتی:", گنتی);
گنتی += 1;
}
Output:
گنتی: 1
گنتی: 2
گنتی: 3
گنتی: 4
گنتی: 5
اردو:
جبکہحلقہ اس وقت تک چلتا رہتا ہے جب تک شرط سچ ہو۔ ہر بار چلنے سے پہلے شرط جانچی جاتی ہے۔
Iterate over a list:
متغیر پھل = ["سیب", "آم", "کیلا", "انار"];
کے_لیے (متغیر پھل_نام کا پھل) {
لکھو(پھل_نام);
}
Iterate over a range using حد() (range):
کے_لیے (متغیر i کا حد(1, 11)) {
لکھو(i, "کا مربع =", i * i);
}
اردو:
کے_لیے...کاحلقہ کسی فہرست یا حد پر چلتا ہے۔حد(1, 11)سے 1 سے 10 تک کے اعداد ملتے ہیں۔
ٹوٹنا = break, جاری = continue:
کے_لیے (متغیر n کا حد(1, 20)) {
اگر (n % 2 == 0) جاری; // skip even numbers
اگر (n > 10) ٹوٹنا; // stop at 10
لکھو(n);
}
اردو:
ٹوٹناحلقے سے فوری باہر نکلتا ہے۔جاریموجودہ تکرار کو چھوڑ کر اگلی پر چلا جاتا ہے۔
فنکشن سلام(نام) {
واپس "السلام علیکم، " + نام + "!";
}
لکھو(سلام("احمد"));
لکھو(سلام("ثناء"));
فنکشن تعارف(نام, زبان = "اردو") {
لکھو(`${نام} ${زبان} میں پروگرام لکھتے ہیں`);
}
تعارف("علی");
تعارف("Sara", "English");
فنکشن حساب(الف, ب) {
واپس [الف + ب, الف - ب, الف * ب];
}
متغیر نتائج = حساب(10, 3);
لکھو("جمع:", نتائج[0]);
لکھو("تفریق:", نتائج[1]);
لکھو("ضرب:", نتائج[2]);
اردو: فنکشن
فنکشنکلیدی لفظ سے بنائیں۔واپسسے قدر واپس کریں۔ پیرامیٹرز کو پہلے سے طے قدریں دے سکتے ہیں۔ ایک سے زیادہ قدریں واپس کرنے کے لیے فہرست یا شے استعمال کریں۔
کوشش {
متغیر عدد = عدد_صحیح(پڑھو("ایک عدد لکھیں: "));
لکھو("آپ نے لکھا:", عدد);
} پکڑو (غلطی) {
لکھو("یہ درست عدد نہیں!");
} آخر {
لکھو("پروگرام مکمل");
}
Throw your own exceptions with پھینکو:
فنکشن تقسیم(الف, ب) {
اگر (ب == 0) پھینکو نیا Error("صفر سے تقسیم نہیں ہو سکتی");
واپس الف / ب;
}
کوشش {
لکھو(تقسیم(10, 0));
} پکڑو (ے) {
لکھو("غلطی:", ے);
}
اردو: غلطیاں سنبھالنے کے لیے
کوشش/پکڑو/آخراستعمال کریں۔کوششمیں وہ کوڈ لکھیں جو غلطی دے سکتا ہے،پکڑومیں غلطی سنبھالیں، اورآخرہمیشہ چلتا ہے چاہے غلطی آئے یا نہ آئے۔ اپنی غلطی پھینکنے کے لیےپھینکواستعمال کریں۔
متغیر طالب_علم = ["احمد", "فاطمہ", "علی", "عائشہ"];
لکھو(طالب_علم[0]); // پہلا عنصر
لکھو(لمبائی(طالب_علم)); // 4
طالب_علم.شامل("زینب"); // append
لکھو(طالب_علم);
متغیر طالب = {
"نام": "احمد",
"عمر": 20,
"شہر": "کراچی"
};
لکھو(طالب["نام"]);
لکھو(طالب["شہر"]);
طالب["گریڈ"] = "A";
لکھو(طالب);
اردو: فہرست ترتیب شدہ قدروں کا مجموعہ ہے —
[...]میں لکھیں۔ لغت کلید-قدر جوڑوں کا مجموعہ ہے —{...}میں لکھیں۔ فہرست میں اشاریہ (index) سے اور لغت میں کلید سے عناصر تک پہنچیں۔
This program reads a student's name and exam marks, calculates a grade, and prints a result card.
اردو: یہ پروگرام طالب علم کا نام اور امتحانی نمبر پڑھتا ہے، گریڈ حساب کرتا ہے اور نتیجہ کارڈ پرنٹ کرتا ہے۔ یہ ایک مکمل عملی مثال ہے جو فنکشن، حلقہ، شرط اور استثناء ہینڈلنگ سب کو ایک ساتھ استعمال کرتی ہے۔
// ═══════════════════════════════════════════
// گریڈ چیکر — نتائج کا پروگرام
// ═══════════════════════════════════════════
فنکشن گریڈ_حاصل_کرو(نمبر) {
اگر (نمبر >= 90) واپس "A+ — ممتاز";
ورنہ_اگر (نمبر >= 80) واپس "A — بہترین";
ورنہ_اگر (نمبر >= 70) واپس "B — اچھا";
ورنہ_اگر (نمبر >= 60) واپس "C — ٹھیک";
ورنہ_اگر (نمبر >= 50) واپس "D — کم";
ورنہ واپس "F — فیل";
}
فنکشن نتیجہ_کارڈ(نام, مضامین) {
لکھو("=" * 40);
لکھو(" نتیجہ کارڈ —", نام);
لکھو("=" * 40);
متغیر کل = 0;
کے_لیے (متغیر مضمون کا مضامین) {
متغیر نام_مضمون = مضمون[0];
متغیر نمبر = مضمون[1];
متغیر گریڈ = گریڈ_حاصل_کرو(نمبر);
لکھو(` ${نام_مضمون}: ${نمبر} — ${گریڈ}`);
کل += نمبر;
}
متغیر اوسط = کل / لمبائی(مضامین);
لکھو("-" * 40);
لکھو(` اوسط: ${اوسط}`);
لکھو(` مجموعی گریڈ: ${گریڈ_حاصل_کرو(اوسط)}`);
لکھو("=" * 40);
}
// ── ڈیٹا ─────────────────────────────────
متغیر طالب_علم_نام = پڑھو("طالب علم کا نام: ");
متغیر مضامین_فہرست = [];
متغیر مضامین_نام = ["اردو", "انگریزی", "ریاضی", "سائنس", "اسلامیات"];
کے_لیے (متغیر مضمون کا مضامین_نام) {
کوشش {
متغیر نمبر_متن = پڑھو(`${مضمون} کے نمبر (100 میں سے): `);
متغیر نمبر = عدد_صحیح(نمبر_متن);
اگر (نمبر < 0 یا نمبر > 100) {
لکھو("نمبر 0 اور 100 کے درمیان ہونے چاہیے۔ 0 ڈال رہے ہیں۔");
نمبر = 0;
}
مضامین_فہرست.شامل([مضمون, نمبر]);
} پکڑو (غ) {
لکھو("غلط ان پٹ — 0 ڈال رہے ہیں");
مضامین_فہرست.شامل([مضمون, 0]);
}
}
// ── نتیجہ ─────────────────────────────────
نتیجہ_کارڈ(طالب_علم_نام, مضامین_فہرست);
طالب علم کا نام: احمد
اردو کے نمبر (100 میں سے): 85
انگریزی کے نمبر (100 میں سے): 78
ریاضی کے نمبر (100 میں سے): 92
سائنس کے نمبر (100 میں سے): 88
اسلامیات کے نمبر (100 میں سے): 95
========================================
نتیجہ کارڈ — احمد
========================================
اردو: 85 — A — بہترین
انگریزی: 78 — B — اچھا
ریاضی: 92 — A+ — ممتاز
سائنس: 88 — A — بہترین
اسلامیات: 95 — A+ — ممتاز
----------------------------------------
اوسط: 87.6
مجموعی گریڈ: A — بہترین
========================================
| Urdu Keyword | English Equivalent | Use |
|---|---|---|
متغیر |
let / var |
Declare a variable |
مستقل |
const |
Declare a constant |
لکھو() |
print() |
Print to screen |
پڑھو() |
input() |
Read from keyboard |
اگر |
if |
Conditional |
ورنہ_اگر |
else if / elif |
Additional condition |
ورنہ |
else |
Fallback condition |
جبکہ |
while |
While loop |
کے_لیے...میں |
for...in |
For loop |
ٹوٹنا |
break |
Break out of loop |
جاری |
continue |
Continue to next iteration |
فنکشن |
function / def |
Define a function |
واپس |
return |
Return a value |
کوشش |
try |
Try block |
پکڑو |
catch / except |
Catch an exception |
آخر |
finally |
Finally block |
پھینکو |
throw / raise |
Throw an exception |
کلاس |
class |
Define a class |
یہ |
this / self |
Current object |
نیا |
new |
Instantiate an object |
درآمد |
import |
Import a module |
سے |
from |
From (import) |
سچ |
True |
Boolean true |
جھوٹ |
False |
Boolean false |
خالی |
None / null |
Null value |
اور |
and |
Logical AND |
یا |
or |
Logical OR |
نہیں |
not |
Logical NOT |
غیر_متزامن |
async |
Async function |
انتظار |
await |
Await expression |
پیداوار |
yield |
Generator yield |
اردو: یہ تمام اردو کلیدی الفاظ کا فوری حوالہ ہے۔ ہر اردو لفظ کے سامنے اس کا انگریزی مساوی اور استعمال درج ہے۔ یہ کارڈ اپنے پاس رکھیں — شروع میں بہت کام آئے گا!
- Syntax Reference — full details on every construct, operator, and OOP feature
- Built-ins — all built-in functions documented
- Libraries — web servers, databases, ML, cryptography and more
- Examples — complete real-world programs
اردو:
- نحو کا حوالہ — ہر تعمیر، آپریٹر اور OOP خصوصیت کی مکمل تفصیل
- بلٹ-انز — تمام بلٹ-ان فنکشنز کی دستاویزات
- لائبریریاں — ویب سرورز، ڈیٹا بیسز، ML، رمزنگاری اور مزید
- مثالیں — مکمل حقیقی دنیا کے پروگرام
Previous: Installation | Next: Syntax Reference →