Kribo

Klima-hele-koden-korrigert

Jun 14th, 2020
114
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. # -*- coding: utf-8 -*-
  2. """
  3. Created on Tue May 19 20:18:00 2020
  4.  
  5. @author: kribo
  6. """
  7.  
  8. # -*- coding: utf-8 -*-
  9. """
  10. Created on Sat Apr 25 14:36:29 2020
  11.  
  12. @author: eirik
  13. """
  14. import numpy as np
  15. import matplotlib.pyplot as plt
  16.  
  17. #Introduksjonstekst til den som bruker programmet
  18. print("Prognosene viser at temperaturen i verden vil stige med rundt 2 grader fram mot 2050. Dette skyldes i stor grad utslipp av CO2. \
  19. En av konsekvensene av økningen vil være at havnivået stiger, noe som fører til at opp mot 110 millioner mennesker vil miste hjemmene sine. \
  20. Men det finnes tiltak vi kan iverksette. I denne simuleringen er du verdensleder, og hvert femte år skal du velge et nytt tiltak. \
  21. Noen tiltak har større effekt enn andre, så valgene dine har store konsekvenser for hvordan verden vil se ut i fremtida. Lykke til! \n")
  22.  
  23. #Legger inn årlige besparelser for ulike tiltak
  24. Tiltaksliste = ["Helse og utdanning i fattige land", 85.42/30, "Plantebasert kosthold", 65.01/30, "Redusere matsvinn", 87.45/30, \
  25.                 "Forbedre aircondition", 57.75/30, "Forbedre kjøleskap", 43.53/30, "Regnskogsplanting", 54.45/30, "Vindkraft på land", 47.21/30]
  26. Spartliste = [0]
  27.  
  28. #Prognose for maksverdier i 2050
  29. TempSluttAr = 2
  30. Flyktninger = 110
  31. CO2prAr = 50
  32.  
  33.  
  34. #La bruker velge et tiltak hvert femte år. Legg CO2-besparelsen for tiltaket til Spartliste
  35. #og slett tiltaket fra Tiltaksliste.
  36. Spart = 0
  37. for i in range(30, 0, -5):
  38.     print("Mulige tiltak år", 2050-i)
  39.     for n in range(0, len(Tiltaksliste),2):
  40.         print(int((n+2)/2), Tiltaksliste[n])
  41.     Tiltak = int(input("Skriv inn tallet på tiltaket du vil iverksette: "))
  42.     Spart = Spart + (Tiltaksliste[Tiltak*2-1]*i)
  43.     Spartliste.append(Tiltaksliste[Tiltak*2-1]*5)
  44.     del Tiltaksliste[Tiltak*2-2]
  45.     del Tiltaksliste[Tiltak*2-2]
  46.  
  47. #Regne ut kumulative tall til graf
  48. Kum1 = np.cumsum(Spartliste)
  49. Kum2 = np.cumsum(Kum1)
  50. xliste = [2020, 2025, 2030, 2035, 2040, 2045, 2050]
  51.  
  52. #Graf over CO2-utslipp
  53. xlist = xliste
  54. MaxCO2list = [0, CO2prAr*5, CO2prAr*10, CO2prAr*15, CO2prAr*20, CO2prAr*25, CO2prAr*30]
  55. fig = plt.figure()
  56. ax1 = fig.add_subplot(111)
  57. ax1.grid(True)
  58. plt.title("CO2-utslipp")
  59. plt.xlabel("Årstall")
  60. plt.ylabel("Totalt utslipp siden 2020 i gigatonn")
  61.  
  62. ax1.plot(xlist,MaxCO2list, label="Forventet utvikling")
  63. ax1.plot(xlist,MaxCO2list - Kum2, label="Utvikling etter tiltak")
  64. plt.legend()
  65. plt.show()
  66.  
  67. #Grat over temperaturstigning
  68. xlist = xliste
  69. MaxTmplist = [0, TempSluttAr/6, TempSluttAr*2/6, 3*TempSluttAr/6, 4*TempSluttAr/6, 5*TempSluttAr/6, TempSluttAr]
  70. fig = plt.figure()
  71. ax1 = fig.add_subplot(111)
  72. ax1.grid(True)
  73. plt.title("Økning i temperatur")
  74. plt.xlabel("Årstall")
  75. plt.ylabel("Grader Celsius")
  76.  
  77. ax1.plot(xlist,MaxTmplist, label="Forventet utvikling")
  78. f=[0]
  79. for i in range (1,len(MaxCO2list), 1):
  80.     f.append((MaxCO2list[i] - Kum2[i])/MaxCO2list[i]*MaxTmplist[i])
  81. ax1.plot(xlist, f, label="Utvikling etter tiltak")
  82. plt.legend()
  83. plt.show()
  84.  
  85. #Grat over økning i klimaflyktninger
  86. xlist = xliste
  87. MaxFlyktlist = [0, Flyktninger/6, 2*Flyktninger/6, 3*Flyktninger/6, 4*Flyktninger/6, 5*Flyktninger/6, Flyktninger]
  88. fig = plt.figure()
  89. ax1 = fig.add_subplot(111)
  90. ax1.grid(True)
  91. plt.title("Økning i klimaflyktninger")
  92. plt.xlabel("Årstall")
  93. plt.ylabel("Millioner mennesker")
  94.  
  95. ax1.plot(xlist, MaxFlyktlist, label="Forventet utvikling")
  96. g=[0]
  97. for i in range (1,len(MaxCO2list), 1):
  98.     g.append((MaxCO2list[i] - Kum2[i])/MaxCO2list[i]*MaxFlyktlist[i])
  99. ax1.plot(xlist, g, label="Utvikling etter tiltak")
  100. plt.legend()
  101. plt.show()
  102.  
  103. print("Gratulerer! Du klarte å redusere forventet utslipp med ", "%.2f" % Spart, "gigatonn CO2. Temperaturen steg bare med","%.2f" % f[6], \
  104.       "grader og ", "%.2f" % (Flyktninger - g[6]), "millioner mennesker kan takke deg for at de ikke er blitt klimaflyktninger!")
  105.  
  106. if (Spart > 256.7):
  107.     print("Veldig bra! Du valgte alltid de tiltakene som ga størst effekt!")
  108. else:
  109.     print("Bra forsøk! Du valgte godt, men det fantes mer effektive tiltak.")
RAW Paste Data