الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

مشكلة في سكربت التحقق من صحة المعلومات المدخولة من طرف المستخدم

بدأه amchaabi25 في 29 يناير 2013 · 5 رد · 331 مشاهدة · في لغة Python
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم ورحمة الله وبركاته

 

هذا هو السكربت

 

arabteam2000

 

وهو عبارة عن سكربت مهمته فتح ملف المعبر عنه بإسم Name.txt بصلاحية r القرائة فقط

 

وقرائة الملف سطر سطر وتخزينه في متغير n

 

وبعدها نطلب من المستخدم إدخال إسم

 

إن كان هذا الإسم موجود في الملف Name.txt فيطبع له العبارة الموجودة في if

 

وإن لم يكن فيطبع له العبارة الموجودة في else

 

الآن المشكلة جربت كل الحلول الممكنة ولكنه لا يجد الإسم المطلوب فيمر مباشرة إلى تنفيذ الامر else

 

مع أنه في الملف Name.txt مخزن فيه عدة أسماء مثلا [amer,arab,islam] وأنا بصفتي المستخدم طلبت الإسم islam, فلم يجده

 

أين هو الخل جزاكم الله كل خير ياليت ترو السكربت وتعطوني الخلل مع سبب حدوثه لكي أفهم جيدا

 

وتبارك الله فيكم إن شاء الله

 

 

 

تعديل:

الكود 

n = open("Name.txt", "r")
l = n.readlines()
Input = input("Enter The Name Please: ")
for n in l:
    if Input in n:
      print ("Welcome Mr.%s" % (Input))
    else:
        print ("We are Sorry The Name Is Not Correct Mr.%s" % (Input))
n.close()

تم تعديل هذه المشاركة بواسطة ahmed_youssef في 29 يناير 2013 في 17:40 — السبب: إضافة الكود

#2

يبدو أن المشكلة من عبارة Input in n حيث n معرفة من قبل على إنها file object وأنت قمت بإستخدام نفس الإسم في ال for loop 

جرب تغيير إسم المتغير

 

*مالفائدة المرجوة من readlines وعمل loop ؟ 

لماذا لاتستخدم 



 

input() in n.read()

تم تعديل هذه المشاركة بواسطة ahmed_youssef في 29 يناير 2013 في 03:10

(map share people)

فضلا لاتقم بمراسلتي من أجل أسئلة لها أقسامها في المنتدى حتى تعم الفائدة على الجميع وللحصول على إجابات أفضل من أعضاء أكثر خبرة.
Weblog
@bitbucket
@xmonader

#3

لم أستطع أن أفهمك أخ أحمد

 

ممكن تعيد تعديل السكربت وتشرحلي لأنه لم أفقه كلامك والله

 

وشكرا لك

#4
 

n = open("Name.txt", "r")

name = input("Enter the name: ")

if name in n.read() :

    print "Yes"

else: 

    print "No"
(map share people)

فضلا لاتقم بمراسلتي من أجل أسئلة لها أقسامها في المنتدى حتى تعم الفائدة على الجميع وللحصول على إجابات أفضل من أعضاء أكثر خبرة.
Weblog
@bitbucket
@xmonader

#5

آهآ واخيرا فهمت عليك يا أخ أحمد


يعني مفروض أستخدم فقط n.read() لكي يتم تنفيذ الشرط if بطريقة صحيحة


وليس من مفروض أستخدام readlines


بوركت أخي الفاضل


#6

readlines لها دواعي لإستخدامها ... ولكن في حالتك لاداعي إلا لقراءة الملف وإختبار إذا الإسم موجود فيه أو ﻷ

 

حياك الله

1
(map share people)

فضلا لاتقم بمراسلتي من أجل أسئلة لها أقسامها في المنتدى حتى تعم الفائدة على الجميع وللحصول على إجابات أفضل من أعضاء أكثر خبرة.
Weblog
@bitbucket
@xmonader

مواضيع مشابهة

عدد الزوار حالياً

المتواجدون خلال آخر دقيقتين · يتحدّث كل ٣٠ ثانية

—الإجمالي—أعضاء مسجّلون—زوار بدون تسجيل

جارٍ التحقق من المتواجدين…