RashidQutub/CountriesIntroduction_App
0
1import streamlit as st2 3# Flag URLs4PAKISTAN_FLAG = "https://upload.wikimedia.org/wikipedia/commons/3/32/Flag_of_Pakistan.svg"5PARTY_FLAGS = {6 "Sindh": "https://upload.wikimedia.org/wikipedia/en/8/84/PPP_flag.svg", # Pakistan Peoples Party7 "Baluchistan": "https://upload.wikimedia.org/wikipedia/commons/e/ed/Flag_of_Balochistan_Awami_Party.svg", # Balochistan Awami Party8 "Punjab": "https://upload.wikimedia.org/wikipedia/commons/1/19/Flag_of_PMLN.svg", # Pakistan Muslim League (N)9 "KhyberPukhtoonkhwa": "https://upload.wikimedia.org/wikipedia/commons/7/7e/Flag_of_PTI.svg", # Pakistan Tehreek-e-Insaf10}11 12# Province data with a base of 10 largest cities13PROVINCE_DATA = {14 "Sindh": {15 "color": "green",16 "party": "Pakistan Peoples Party (PPP)",17 "cities": {18 "Karachi": {19 "population": "16.05 million",20 "locations": ["Clifton Beach", "Quaid-e-Azam's Mausoleum"],21 "entertainment": ["Port Grand", "Dolmen Mall"],22 "universities": ["IBA Karachi", "Karachi University"],23 },24 "Hyderabad": {25 "population": "1.73 million",26 "locations": ["Rani Bagh", "Pacco Qillo"],27 "entertainment": ["Boulevard Mall", "Sindh Museum"],28 "universities": ["Mehran University", "Sindh University"],29 },30 "Sukkur": {31 "population": "551,357",32 "locations": ["Lansdowne Bridge", "Lab-e-Mehran"],33 "entertainment": ["Sukkur Barrage Park"],34 "universities": ["IBA Sukkur"],35 },36 "Larkana": {37 "population": "490,508",38 "locations": ["Mohenjo-Daro", "Jinnah Park"],39 "entertainment": ["Shahnawaz Bhutto Library"],40 "universities": ["Chandka Medical College"],41 },42 },43 },44 "Baluchistan": {45 "color": "blue",46 "party": "Balochistan Awami Party (BAP)",47 "cities": {48 "Quetta": {49 "population": "1.2 million",50 "locations": ["Hanna Lake", "Ziarat Residency"],51 "entertainment": ["Millennium Mall", "Askari Park"],52 "universities": ["BUITEMS", "University of Balochistan"],53 },54 "Gwadar": {55 "population": "85,000",56 "locations": ["Gwadar Port", "Hammerhead"],57 "entertainment": ["Golden Beach", "Local Markets"],58 "universities": ["Gwadar Development Authority College"],59 },60 },61 },62 "Punjab": {63 "color": "purple",64 "party": "Pakistan Muslim League (N)",65 "cities": {66 "Lahore": {67 "population": "11.13 million",68 "locations": ["Badshahi Mosque", "Lahore Fort"],69 "entertainment": ["Emporium Mall", "Fortress Stadium"],70 "universities": ["LUMS", "Punjab University"],71 },72 "Rawalpindi": {73 "population": "2.1 million",74 "locations": ["Ayub Park", "Raja Bazaar"],75 "entertainment": ["The Mall", "Cinepax"],76 "universities": ["Fatima Jinnah University", "NUST"],77 },78 },79 },80 "KhyberPukhtoonkhwa": {81 "color": "navy blue",82 "party": "Pakistan Tehreek-e-Insaf (PTI)",83 "cities": {84 "Peshawar": {85 "population": "1.97 million",86 "locations": ["Bala Hisar Fort", "Sethi House"],87 "entertainment": ["Dean's Shopping Mall", "Tatara Park"],88 "universities": ["UET Peshawar", "Peshawar University"],89 },90 "Abbottabad": {91 "population": "132,000",92 "locations": ["Shimla Hill", "Ilyasi Masjid"],93 "entertainment": ["Lady Garden Park", "Abbottabad Mall"],94 "universities": ["COMSATS Abbottabad", "Hazara University"],95 },96 },97 },98}99 100# Main app101def main():102 # Display national flag103 st.image(PAKISTAN_FLAG, width=100)104 st.title("Introduction to the Provinces of Pakistan")105 106 # Sidebar for province selection107 province = st.sidebar.radio("Select a Province", list(PROVINCE_DATA.keys()))108 109 if province:110 data = PROVINCE_DATA[province]111 st.header(f"{province} - {data['party']}")112 st.image(PARTY_FLAGS[province], width=100)113 st.markdown(f"### Political Party: {data['party']}")114 st.markdown(f"**Province Color:** {data['color']}")115 116 # City selection and addition functionality117 city = st.selectbox(f"Select a City in {province}", list(data["cities"].keys()))118 119 if city:120 city_data = data["cities"][city]121 st.subheader(f"City: {city}")122 st.markdown(f"**Population:** {city_data['population']}")123 st.markdown(f"**Distinguished Locations:** {', '.join(city_data['locations'])}")124 st.markdown(f"**Entertainment Places:** {', '.join(city_data['entertainment'])}")125 st.markdown(f"**Famous Universities:** {', '.join(city_data['universities'])}")126 127 # Add new cities128 st.markdown("---")129 st.subheader("Add New City")130 new_city_name = st.text_input("City Name")131 new_city_population = st.text_input("Population")132 new_city_locations = st.text_area("Distinguished Locations (comma-separated)")133 new_city_entertainment = st.text_area("Entertainment Places (comma-separated)")134 new_city_universities = st.text_area("Famous Universities (comma-separated)")135 136 if st.button("Add City"):137 if new_city_name and new_city_population:138 data["cities"][new_city_name] = {139 "population": new_city_population,140 "locations": [loc.strip() for loc in new_city_locations.split(",")],141 "entertainment": [ent.strip() for ent in new_city_entertainment.split(",")],142 "universities": [uni.strip() for uni in new_city_universities.split(",")],143 }144 st.success(f"{new_city_name} has been added to {province}!")145 else:146 st.error("Please provide at least the city name and population.")147 148if __name__ == "__main__":149 main()150 