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

الكود يظهر نتيجة غريبة في بايثون

إبراهيم أحمد3

السؤال

مرحبا.
أنا أستخدم مكتبة shelve للتشفير.
أقوم بتشفير ملف يحتوي على الأحرف الانجليزية, كل سطر فيه حرف.
الكود:

import shelve


enletters = []
with open("enletters.txt", encoding="utf-8") as file:
    for line in file:
        line = line.strip("\n")
        enletters.append([line[0], line[1:]])


with shelve.open("enletters") as data:
    data["enletters"] = enletters


عندما أقوم بطباعة القائمة, تظهر الحروف مع رموز غريبة.
الكود:
```

import shelve

with shelve.open("data/enletters/enletters") as enldata:
    enletters = enldata["enletters"]
print(enletters)


```
النتيجة:

[['a', ''], ['b', ''], ['c', ''], ['d', ''], ['e', ''], ['f', ''], ['g', ''], ['h', ''], ['i', ''], ['j', ''], ['k', ''], ['l', ''], ['m', ''], ['n', ''], ['o', ''], ['p', ''], ['q', ''], ['r', ''], ['s', ''], ['t', ''], ['u', ''], ['v', ''], ['w', ''], ['x', ''], ['y', ''], ['z', '']]


حاولت طباعة كلمات, كل سطر فيه كلمة, المشكلة في الكلمات أنه يظهر أول حرف, وبعدها يضع قوس ويظهر بقية حروف الكلمة.
مثل:
[['a', 'xe'], ['b', 'anana'], ['c', 'at'], ['d', 'og'], ['e', 'gg'], ['f', 'lower'], ['g', 'round'], ['h', 'uman'], ['j'
['b', 'anana'] هي بالأصل banana.

رابط هذا التعليق
شارك على الشبكات الإجتماعية

Recommended Posts

  • 0
بتاريخ 1 ساعة قال إبراهيم أحمد3:

مرحبا.
أنا أستخدم مكتبة shelve للتشفير.
أقوم بتشفير ملف يحتوي على الأحرف الانجليزية, كل سطر فيه حرف.
الكود:

import shelve


enletters = []
with open("enletters.txt", encoding="utf-8") as file:
    for line in file:
        line = line.strip("\n")
        enletters.append([line[0], line[1:]])


with shelve.open("enletters") as data:
    data["enletters"] = enletters


عندما أقوم بطباعة القائمة, تظهر الحروف مع رموز غريبة.
الكود:
```

import shelve

with shelve.open("data/enletters/enletters") as enldata:
    enletters = enldata["enletters"]
print(enletters)


```
النتيجة:

[['a', ''], ['b', ''], ['c', ''], ['d', ''], ['e', ''], ['f', ''], ['g', ''], ['h', ''], ['i', ''], ['j', ''], ['k', ''], ['l', ''], ['m', ''], ['n', ''], ['o', ''], ['p', ''], ['q', ''], ['r', ''], ['s', ''], ['t', ''], ['u', ''], ['v', ''], ['w', ''], ['x', ''], ['y', ''], ['z', '']]


حاولت طباعة كلمات, كل سطر فيه كلمة, المشكلة في الكلمات أنه يظهر أول حرف, وبعدها يضع قوس ويظهر بقية حروف الكلمة.
مثل:
[['a', 'xe'], ['b', 'anana'], ['c', 'at'], ['d', 'og'], ['e', 'gg'], ['f', 'lower'], ['g', 'round'], ['h', 'uman'], ['j'
['b', 'anana'] هي بالأصل banana.

مرحبا ابراهيم،

هل يمكنك مشاركة الملف الذي تريد تشفيره لتجريب الشيفرة ؟

شكرا لك.

رابط هذا التعليق
شارك على الشبكات الإجتماعية

  • 0

ما الغريب في النتائج التي تظهر لديك؟

أنت تقوم في الكود الخاص بك بتخزين لائحة كل عنصر فيها عبارة عن لائحة فيها عنصرين، العنصر الأول هو أول حرف في السطر، و العنصر الثاني هو بقية الأحرف في السطر، و بالتالي في حال كان لديك سطر يحوي على حرف واحد سيكون لديك ثاني عنصر عبارة عن سلسلة نصية فارغة.

بينما في الحالة الثانية سيكون لديك ثاني عنصر هو عبارة عن كل الأحرف في الكلمة ما عدا أول حرف.

هذا موجود في التعليمة التالية:

enletters.append([line[0], line[1:]])

في حال كنت تريد القيام بأمر آخر من فضلك أخبرنا به حتى نستطيع مساعدتك على كيفية القيام به.

رابط هذا التعليق
شارك على الشبكات الإجتماعية

  • 0

الملف:

الأحرف:

a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z

الكلمات:

axe
banana
cat
dog
egg
flower
ground
human
jungle
key
list
moon
night
orange
potato
quality
rain
strawberry
tea
uniform
vegetables
winter
xray
yesterday
zone

بتاريخ 18 ساعة قال Kais Hasan:

ما الغريب في النتائج التي تظهر لديك؟

أنت تقوم في الكود الخاص بك بتخزين لائحة كل عنصر فيها عبارة عن لائحة فيها عنصرين، العنصر الأول هو أول حرف في السطر، و العنصر الثاني هو بقية الأحرف في السطر، و بالتالي في حال كان لديك سطر يحوي على حرف واحد سيكون لديك ثاني عنصر عبارة عن سلسلة نصية فارغة.

بينما في الحالة الثانية سيكون لديك ثاني عنصر هو عبارة عن كل الأحرف في الكلمة ما عدا أول حرف.

هذا موجود في التعليمة التالية:

enletters.append([line[0], line[1:]])

في حال كنت تريد القيام بأمر آخر من فضلك أخبرنا به حتى نستطيع مساعدتك على كيفية القيام به.

أنا أريد الحروف تكون بدون أي إضافات a b c d e f g h الخ , والكلمات اريدها تظهر كاملة بدون الأقواس أو '' الخ

رابط هذا التعليق
شارك على الشبكات الإجتماعية

انضم إلى النقاش

يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.

زائر
أجب على هذا السؤال...

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   جرى استعادة المحتوى السابق..   امسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.

  • إعلانات

  • تابعنا على



×
×
  • أضف...