วิธีที่จะย้อนกลับข้อความโดยใช้รายชื่อเป็นภาษาไพธอน

0

คำถาม

ฉันเจอชิ้นส่วนของรหัสจากคนเกี่ยวข้องกันคำตอบเกี่ยวกับเรื่อง reversing ใช้เส้นสายในปลั๊กอินสำหรับไพธอน,แต่ใครก็ได้โปรดตีความเรื่องมันอยู่ในธรรมดาคนอังกฤษเหรอ? ได้โปรดโปรดสังเกตว่าฉันเป็นยังใหม่ให้เป็นภาษาไพธอนและเพียงเรียนรู้วิธีที่จะใช้ขณะที่บางอย่างและฟังก์ชันเมื่อวาน:/ดังนั้นฉันอย่าจริงจังนี่เป็นคำพูดตัวเองเพราะผมเข้าใจกันได้ไม่ค่อยดีอยู่เลย

ยังไงก็ตามนี่คือรหัส:

def reverse_string(string):
    new_strings = [] 
    index = len(string) 
    while index:  
        index -= 1                       
        new_strings.append(string[index]) 
    return ''.join(new_strings) 

print(reverse_string('hello'))
list python string
2021-11-24 04:07:22
3

คำตอบที่ดีที่สุด

4

แน่นอนโดยรู้ว่ามันคืออะไรคุณคิดว่าการรหัสหรอก ใน while วง index ค่าเริ่มจากจุดจบของข้อควาและยอมรับข้อกล่าวหากัน 0 ในทุกย่างก้าวมันเพิ่มมันอักขระ(อีกครั้งเริ่มจากจุดจบ)เพื่อจุดจบของรายการมันคือตึกนี้ ในที่สุดมันรรายชื่อเข้าไปในข้อความ

ดังนั้นจาก'abcd',รายการจะสร้าง:

'abcd'  #3 -> ['d']
'abcd'  #2 -> ['d','c']
'abcd'  #1 -> ['d','c','b']
'abcd'  #0 -> ['d','c','b','a']
2021-11-24 04:10:52
1

งั้นโดยหลักการแล้วไปเอาความยาวของข้อความกับ len วิธีการ. ซึ่งจะกลับมาคุณเป็นค่าจำนวนเต็มตัวแทนนานแค่ไหนที่ข้อความ.

พวกเขาแล้วใช้ความยาวของข้อความและรถ iterate ลงไปศูนย์อยู่ใน while เล่นวนซ้ำ ใช้ -= โอเปอเรเตอร์ค่ะ

กันและทำซ้ำ(หมายความว่าแต่ละครั้งล้อมวงมันจะอยู่ห่างจากความยาวจนกระทั่งมันไปถึงศูนย์ศูนย์ศูนย์

ดังนั้นให้ใช้ hello เป็นตัวอย่างเช่นข้อมูลเข้าและไปผ่านพ้นมันไปด้วยกัน

reverse_string('hello') คือว่าพวกเราจะโทรหาวิธีทำลงไปในอ print คำให้การของคุณรหัส

เราแล้วป้อนฟังก์ชันและแสดงพวกนี้ขั้นตอน:

  1. เราสร้างใหม่ที่ว่างเปล่าอาเรย์โทรมา new_strings.
  2. เราต้องหาความยาวของข้อความเริ่มต้น hello ซึ่งพวกเราจะได้ค่า 5. หมายความว่าตอนนี้ index มันจะเท่ากับ 5.
  3. เราสร้างในขณะที่วงนั้นยังบอไปจนกว่า index คือไม่มากไปกใช้ while(index): -นาวเหมือนนี้กิน 0 ค่าเป็น falsy และจะทำการยุติธติดต่อเรื่องนี้ ดังนั้นตอน index นี่ 0 เรื่องจะหมดลง
  4. คนของบรรทัดแรกของวง performs index -= 1 ซึ่งเป็นเหมือนกับการเขียน index = index - 1 ดังนั้นคนแรกของวงผ่านเราไป index = 5 - 1 แล้วตอนนี้ index คือเท่ากับ 4.
  5. เพราะเป็นภาษาไพธอนแล้วปล่อยให้เราเข้าถึง character ของข้อความโดยใช้ string[index] (และเพราะว่ามันทำงานอกจาก 0->n)การแสดง hello[4] จะอยู่ในวามจริงให้พวกเราควอักษร o.
  6. เราเพิ่มคนที่อาเรย์ new_strings หมายความว่าอย่างที่เราผ่านการทำซ้ำที่จะติดต่อศูนย์มันจะเพิ่มแต่ละอักขระย้อนกลับไปอาเรย์ให้พวกเรา ['o', 'l', 'l', 'e', 'h']
  7. ตั้งแต่ดัชนีคือตอนนี้เราออกไปจากศูนย์ควงและแสดงเป็น join ปฏิบัติการที่อาเรย์ไปยังอีกสร้างข้อความ คำสั่งที่ ''.join(new_strings) หมายความว่าเราอยากจะร่วมมือกับอาเรย์เรามีความเดิมตอนที่แล้วโดยไม่มีเครื่องหมายแยกเลขหลัก. ถ้าเราทำ '#'.join(new_strings) เราแทนที่จะเป็นต้องการที่จะได้ o#l#l#e#h แทนที่จะเป็น olleh.

ฉันหวังว่านี่คงตอบให้คุณมีความชัดเจน

2021-11-24 04:20:49

อ้านี่ clarifies ของฉันคำถามเรื่องแบบนั้นหรอซึ่งฉันก็จะถาม. ขอบคุณสำหรับคำอธิบาย:)
user17415509

ไม่ต้องกังวลทั้งหมด ฉันดีใจที่ฉันคงปรนเปรอท่านได้ ทิมโรเบิร์ตส์ถูกแต่;หลายของเรื่องพวกนี้สามารถจะเข้าใจด้วยการไปทาง fundamentals. ผมขอแนะนำให้ว่าเมื่อไหร่ก็ตามที่คุณสะดุดของรหัสคุณไม่เข้าใจพยายามค้นหาภาษาเอกสารคู่มือสำหรับวิธีการ/โอเปอเรเตอร์ค่ะ ถึงแม้ว่าคุณไม่เข้าใจมันในตอนเริ่มต้นกำลังขึ้นนิสัยของนี้และพยายามจะเข้าใจว่ามันจะรับใช้ท่านได้ดีมากน่าจะอยู่กินเค้กกันก่อน
Johan Jarvi

เป็นตัวอย่าง str.เข้าร่วม()เอกสาร ซึ่งเป็นส่วนหนึ่งของไพธอน สร้างประเภทเอกสารคู่มือ@info:shell สามารถพิสูจน์ว่าต้องเป็นไปอย่างมีประโยชน์มากหลังจากนั้นแต่ฉันสามารถเข้าใจว่ามันจะดูเหมือนรู้สึกตื้นตันซะเหลือเกินและสับสนตอนนี้,แต่มันคือที่ดีต้องเข้าห้องนิสัยของการตามหาพวกทรัพยากรและเรียนรู้วิธีที่จะตีความเรื่องพวกเขา
Johan Jarvi
0

แน่นอน,มันง่ายมากๆโปรแกรม คุณควรจะ reffer ข้อความและวิธีการของข้อความกำลังทำดัชนีภาษาไพธอนเพื่อให้ชัดเจนความคิด ปล่อยให้ฉันอธิบายเรื่องนี้อยู่ใน deatial.

พิมพ์(reverse_string('hello'))//ผู้พิมพ์ฟังก์ชั่นเป็นโทรมาอีกฟังก์ชัน reverse_string และส่งข้อโต้แย้ง"ฮัลโหล".

def reverse_string(ข้อความ)://แย้ง"ฮัลโหล"เป็นถูกจัดเก็บไว้ในตัวแปร ข้อความใน reverse_string ฟังก์ชัน.

**new_strings = []** // created a new empty list
**index = len(string)** // len function returns the length of the argument 
                           passed to the function. len("hello")=5 and assigned 
                           to index. index=5.

ในขณะที่ดัชนี: //ขณะที่วง exicute จนกว่าอาการเข้าใจผิด.อยู่ในนี้ ตัวอย่างเช่นตอนที่ดัชนี=0.ในข้อความที่กำลังทำดัชนีเริ่มจาก 0.สำหรับ ตัวอย่าง ข้อความ[0]=h,ข้อความ[1]=e,ข้อความ[2]=แอล,ข้อความ[3]=แอล,ข้อความ[4]=โอ.

    **index -= 1**  //Note the last letter 'o' is in string[4] and the len 
                      function returned 5 so we need to decrement index variable 
                      to 4 so that it will pointing to string[4]=o                     
  

new_strings.ต่อไปยังท้าย(ข้อความ[ดัชนี]) //เพิ่มข้อความ[4]นั่นคือโอและดังนั้นบน... กลับไป".เข้าร่วม(new_strings)

2021-11-24 05:28:44

ในภาษาอื่นๆ

หน้านี้อยู่ในภาษาอื่นๆ

Русский
..................................................................................................................
Italiano
..................................................................................................................
Polski
..................................................................................................................
Română
..................................................................................................................
한국어
..................................................................................................................
हिन्दी
..................................................................................................................
Français
..................................................................................................................
Türk
..................................................................................................................
Česk
..................................................................................................................
Português
..................................................................................................................
中文
..................................................................................................................
Español
..................................................................................................................
Slovenský
..................................................................................................................