🎉 سال نو، مهارت نو، مشاوره رایگان نقشه راه برنامه نویسی (آفر ویژه ثبت نام قبل از افزایش قیمت 🔥)
۰ ثانیه
۰ دقیقه
۰ ساعت
۴ muhammad reza dannak
مشکل در کد
جامعه پایتون (وب) ایجاد شده در ۰۶ شهریور ۱۴۰۲

سلام

وقت بیخر

کدم رو کامل و درست نوشتم، با کد استاد هم مقایسه کردم، اما یک مشکلی وجود داره، و اون اینه که در زمانی که ما میخوایم کد رو بدون وارد کردن طول پسوورد در ترمینال بسازیم، ارور میده و میگه شما حتما باید طول پسوورد رو وارد کنید، در حالی که ما قبلا طول پسوورد رو در تابع برابر 8 به صورت Defult قرار دادیم.

من میدونم چون به صورت KeyValue ما تابع رو فراخونی میکنیم، کلید length رو برابر با args.length قرار میدیم و اینجا از ما میخواد که قطعا args.length رو مقدار دهی کنیم، حالا چطوری میشه یک action تعریف کرد براش یا به هر صورت دیگه، آرگومان length رو هم به صورت آپشنال کنیم ؟؟؟؟

سلام،

کدو بصورت کامل پیوست کنید. (zip)

محسن موحد ۰۷ شهریور ۱۴۰۲، ۱۰:۰۷

شما از کد استاد که پیوست همین فیلم هست استفاده کنید

میبینید که همین مشکل رو داره

muhammad reza dannak ۰۷ شهریور ۱۴۰۲، ۱۰:۳۶

برای اختیاری کردن یک آرگومان میتونید از nargs='?' استفاده کنید و همچنین میتونید یک default هم مشخص کنید:

parser.add_argument('length', type=int, help="Length of password", nargs='?', default=8)
بهترین پاسخ
محسن موحد ۰۷ شهریور ۱۴۰۲، ۱۸:۴۸

درود به شما

بله با این توضیحی که شما دادید داستان این کد حل میشه، من توی Doc این کتابخونه دنبال این موضوع گشتم، اما همچین چیزی رو نتونستم پیدا کنم، میشه لطفا بهم بگید چطور میتونم این نکات رو دنبال کنم یا کجا دنبالشون بگردم ؟

https://docs.python.org/3/howto/argparse.html این لینک سایت پیاتون بود که در این رابطه چیزی ندیدم


muhammad reza dannak ۰۸ شهریور ۱۴۰۲، ۰۷:۵۵