Difference between revisions of "User talk:Christopherse"

From ccitonlinewiki
Jump to: navigation, search
(Created page with "== Regarding the Revision of The Page: Kelas Metoda Numerik 02 Sem. Gasal 2020/21 == I recently edited the following page : Kelas Metoda Numerik 02 Sem. Gasal 2020/21 ''...")
 
m
 
(4 intermediate revisions by the same user not shown)
Line 1: Line 1:
== Regarding the Revision of The Page: Kelas Metoda Numerik 02 Sem. Gasal 2020/21 ==
+
Welcome to my Talk Page!
  
I recently edited the following page : [[Kelas Metoda Numerik 02 Sem. Gasal 2020/21]]
+
Feel free to tell me anything you'd like by editing the discussion section below :)
  
'''What I changed:''' converted the simple unordered list of [Nama] into an alphabetized sortable table of [Foto | NPM | Nama]
+
== Discusssion ==
 
 
I uploaded the following image to use as a placeholder asset for the photo: [[File:Blankprofile.png|40x40px]]
 
 
 
The names and their respective links remain unchanged. ''However, the NPM codes and photos have to be changed separately and manually''.
 
 
 
I used a variation of the following Python code to transform the Wiki markup text into the current format.
 
 
 
<syntaxhighlight lang="python3">
 
# Python code that transforms a Wiki markup text [single unordered list]
 
# into an alphabetized Wiki markup text [sortable table]
 
# Christopher S.E.
 
# November 2020
 
 
 
def students_list():
 
    """Original Wiki markup text representing list of students, formatted as a string"""
 
    students = """*[[Calvin rahmat pratama]]
 
    *[[Abraham Mahendiartha Putra]]
 
    *[[Muhammad Rasyaad Dzaky]]
 
    *[[Reza Adyanto]]
 
    *[[Ethanael Hanusa]]
 
    *[[Fashal Firdaus Amarullah]]
 
    *[[John Patrick Anhar]]
 
    *[[Revaldy Putra Agatha]]
 
    *[[John Audrick]]
 
    *[[Oka Widiantara Suputra]]
 
    *[[Tri Aji Setyawan]]
 
    *[[JosiahEnrico]]
 
    *[[Cornelia Christiani Vianney]]
 
    *[[Moh Khairul Imam Assidiqqi]]
 
    *[[Hikaru Trinita Salsabila]]
 
    *[[Yogi Gunawan Atmawijaya]]
 
    *[[Faizal Rikaz Al Muntaqo]]
 
    *[[Fakhri Hawari Muhammad]]
 
    *[[Iman Herlana]]
 
    *[[Muhammad Faja Taufiqurrahman]]
 
    *[[Muhammad Helmy Yusuf]]
 
    *[[Rai Zulfikar Satriagama]]
 
    *[[Diyas Prawara Mahdi]]
 
    *[[Muhammad Fadhil Zuhdi]]
 
    *[[Diagy Alwan Irsyad]]
 
    *[[Tedi Veradino]]
 
    *[[Alvi Arya Ramadhan]]
 
    *[[Rezky Alfian Fatra]]
 
    *[[Umar]]
 
    *[[Norman Febrianto]]
 
    *[[Christopher Salendu Erwin]]
 
    *[[Musyafi Albar]]
 
    *[[Richardo Ariyanto]]
 
    *[[Eduardo Christ Soloman]]
 
    *[[M. Raja]]
 
    *[[Muhammad Hasfi Rizki Nur]]
 
    *[[Ardiya Prajna Hardianto]]
 
    *[[Farissthira Sahasrabhanu]]"""
 
    return students
 
 
 
 
 
def listparser(stringlist):
 
    """Parses through string to find names, and outputs names as a python list"""
 
    parsedlist = []
 
    name = ""
 
    i = 0      # i represents the character pointer
 
    while i < len(stringlist):
 
        char = stringlist[i]
 
        if char in ('*', '[', ']', ' ', '\n'):
 
            pass
 
        else:
 
            while True:
 
                char = stringlist[i]
 
                if char == ']':
 
                    parsedlist.append(name)
 
                    name = ""
 
                    break
 
                else:
 
                    name = name + char
 
                i += 1
 
        i += 1
 
    return parsedlist
 
 
 
 
 
def table_format(studentlist):
 
    """Sorts the python list alphabetically and prints out a string
 
        representing Wiki markup text for a sortable table"""
 
    studentlist.sort()
 
 
 
    # Wiki markup text for beginning and end of table
 
    top = """{| class=\"wikitable sortable\"
 
|-
 
! No !!  Photo  !!  NPM  !! Name
 
|-"""
 
    bottom = "|}"
 
 
 
    # Prints out the table containing the names within the student list
 
    print(top)
 
    for student in studentlist:
 
        i = studentlist.index(student) + 1
 
        print(f"| {i} || [[File:Blankprofile.png|100x100px]] || 0000000000 || [[{student}]]")
 
        print("|-")
 
    print(bottom)
 
 
 
 
 
def menu():
 
    """Main sequence of the program"""
 
    studentstring = students_list()
 
    studentlist = listparser(studentstring)
 
    print(studentlist)
 
    print()
 
    table_format(studentlist)
 
 
 
 
 
if __name__ == '__main__':
 
    menu()
 
 
 
</syntaxhighlight>
 

Latest revision as of 21:47, 11 November 2020

Welcome to my Talk Page!

Feel free to tell me anything you'd like by editing the discussion section below :)

Discusssion