Refractoring and files reformat

This commit is contained in:
TiagoRG 2023-01-30 16:48:43 +00:00
parent b50f73d1b3
commit e552fdf07e
Signed by untrusted user who does not match committer: TiagoRG
GPG Key ID: DFCD48E3F420DB42
18 changed files with 145 additions and 135 deletions

View File

@ -1,5 +1,6 @@
import math
def main():
print("""Introduza as coordenadas (x, y) do dardo.
Representa as posicoes horizontal e vertical respetivamente.
@ -23,7 +24,7 @@ Ambas em milimetros.
return
score = BasePoint(x, y)
if mod > 99 and mod < 107:
if 99 < mod < 107:
score *= 3
if mod > 162:
score *= 2
@ -31,6 +32,7 @@ Ambas em milimetros.
print(f'Pontuacao: {score} pontos.')
exit(1)
def BasePoint(x, y):
angleRad = math.atan2(y, x)
angleDeg = math.degrees(angleRad) - 9
@ -39,5 +41,6 @@ def BasePoint(x, y):
return POINTS[int(angleDeg / 20)]
if __name__ == '__main__':
main()

View File

@ -1,6 +1,2 @@
n = int(input('numero? '))
if n % 2 == 0:
print('par')
else:
print('impar')
print("par" if n % 2 == 0 else "impar")

View File

@ -18,7 +18,7 @@ P = float(input("Pressure (kPa)? "))
# Determine the phase.
if (T > 400) and (P > 50):
phase = "LIQUID"
elif (P > 0.125 * T):
elif P > 0.125 * T:
phase = "SOLID"
else:
phase = "GAS"

View File

@ -1,8 +1,12 @@
# Esta função implementa g(x) = 8 - x**3
g = lambda x: 8 - x**3
def g(x):
return 8 - x**3
# Defina uma função que implemente p(x) = x**2 + 2x + 3
p = lambda x: x**2 + 2*x + 3
def p(x):
return x**2 + 2*x + 3
def main():
# Mostra alguns valores da função g:
@ -19,6 +23,6 @@ p(10) = {p(10)}
g(1 + p(3)) = {g(1 + p(3))}
""")
if __name__ == '__main__':
main()

View File

@ -1,14 +1,14 @@
import math
def leibnizPi4(n):
total = 0
for x in range(1, n+1):
if x % 2 == 0:
total -= 1/(x*2-1)
else:
total += 1/(x*2-1)
increment = 1/(x*2-1)
total += -increment if x % 2 == 0 else increment
return total
def main():
num = int(input('Introduza o número de termos: '))
print(f"""
@ -16,5 +16,6 @@ Resultado da série de Leibniz: {leibnizPi4(num)}
Valor do PI/4: {math.pi/4}
""")
if __name__ == "__main__":
main()

View File

@ -1,12 +1,13 @@
# Pede ao utilizadores todas as parcelas e adiciona-as à lista 'values'
def GetValues():
c = 1
count = 1
values = []
while True:
n = input('n{}: '.format(c))
if n == "": break
n = input('n{}: '.format(count))
if n == "":
break
values.append(float(n))
c += 1
count += 1
return values
# Calcula a média dos valores da lista 'values'

View File

@ -1,10 +1,9 @@
# This program generates 20 terms of a sequence by a recurrence relation.
Un = 100 # Un = each term of the sequence. Initially = U0
c = 0
count = 0
while Un > 0:
print(round(Un, 4))
Un = 1.01*Un - 1.01 # Set Un to the next term of the sequence
c += 1
count += 1
print('O programa mostrou ', c, ' termos')
print('O programa mostrou ', count, ' termos')

View File

@ -14,29 +14,33 @@ def main():
#
mix()
def inputFloatList(inputMsg='>>> '):
returnList = []
while True:
inpt = input(inputMsg)
if inpt == '': return returnList
if inpt == '':
return returnList
try:
returnList.append(float(inpt))
except:
except ValueError:
continue
def countLower(lst, v):
returnList = [lst[i] for i in range(len(lst)) if lst[i] < v]
return len(returnList)
return len([lst[i] for i in range(len(lst)) if lst[i] < v])
def minmax(lst):
mx = 0
mn = 0
mx = lst[0]
mn = lst[0]
for n in lst:
if n > mx:
mx = n
if n < mn:
mn = n
return (mn, mx)
return mn, mx
# Alinea d)
def mix():
@ -46,5 +50,6 @@ def mix():
count = countLower(lst, med)
print(count)
if __name__ == "__main__":
main()

View File

@ -4,25 +4,22 @@ def main():
print(reapeatNumTimes(4))
print(positionOfFirstLargest([1, 624, 123, 34, 12]))
def evenThenOdd(string):
even = ''
odd = ''
index = 0
for char in string:
for index, char in enumerate(string):
if index % 2 == 0:
even += char
else:
odd += char
index += 1
return even + odd
def removeAdjacentDuplicates(s):
new = ''
for i in range(len(s)):
if i == 0:
new += s[i]
elif s[i] != s[i-1]:
if i == 0 or s[i] != s[i-1]:
new += s[i]
return new
@ -37,14 +34,13 @@ def reapeatNumTimes(n):
def positionOfFirstLargest(arr):
mx = maxArray(arr)
index = 0
for a in arr:
for index, a in enumerate(arr):
if a == mx:
return index
index += 1
def maxArray(arr):
mx = 0
mx = arr[0]
for a in arr:
if a > mx:
mx = a

View File

@ -4,23 +4,19 @@
def telToName(tel, telList, nameList):
# your code here
index = 0
for t in telList:
for index, t in enumerate(telList):
if t == tel:
break
index += 1
return tel if index == len(telList) else nameList[index]
return nameList[index]
return tel
# Return list of telephone numbers corresponding to names containing partName.
def nameToTels(partName, telList, nameList):
# your code here
tels = []
index = 0
for name in nameList:
for index, name in enumerate(nameList):
if partName in name:
tels.append(telList[index])
index += 1
return tels
def main():

View File

@ -36,7 +36,7 @@ Numero Nome Nota
39450 RUI BARBOSA SOARES FIGUEIREDO 12.9
39652 FABIO ANDRE SABINO REAL 11.4
39840 JOAO FILIPE MAGALHAES CARVALHO PINTO 17.7
40000 TIAGO GARCIA 20.0
40000 TIAGO ROCHA GARCIA 20.0
40301 FILIPE MIGUEL FIGUEIREDO DA SILVA 9.5
40747 JOEL DOS SANTOS MIRANDA 17.0
41084 RICARDO JORGE MOREIRA SILVA MACHADO 11.4

View File

@ -3,11 +3,9 @@
# a)
def loadFile(fname, lst):
with open(fname, 'r') as f:
f.readline()
for line in f:
line = line.strip('\n')
if not line[0].isnumeric():
continue
data = line.split('\t')
data = line.strip('\n').split('\t')
dataTuple = (int(data[0]), data[1], float(data[5]), float(data[6]), float(data[7]))
lst.append(dataTuple)
@ -23,6 +21,7 @@ def printPauta(lst, filename=""):
text = f'{"Numero":>6} {"Nome":^50} {"Nota":>4}\n'
for aluno in lst:
text += f'{aluno[0]:>6} {aluno[1]:^50} {notaFinal(aluno):>4.1f}\n'
print(text)
with open(filename, 'w') as f:
f.write(text)

View File

@ -14,6 +14,7 @@ def main():
print(f"A letra mais usada foi '{usedTheMost}', usada {usedTheMostCount} vezes.")
# This is the same function used in ../aula07/countLetters.py
def countLetters(filename):
# Read the file and count the letters
letters = {}

View File

@ -1,12 +1,13 @@
def main():
lst = [1, 2, 4, 5]
lst = [1, 2, 4, 5, 6]
print(median(lst))
def median(lst):
lst = sorted(lst, reverse=True)
if len(lst) % 2 == 0:
return (lst[len(lst) // 2] + lst[len(lst) // 2 - 1]) / 2
middle = len(lst) // 2 - 1
return sum(lst[middle:middle+2]) / 2
else:
return lst[len(lst) // 2]

View File

@ -14,6 +14,7 @@ Fibonacci numbers. For example, if n=6, it should return [0, 1, 1, 2, 3, 5].
The function only has to work for n>=2.
"""
def genFibonacci(n):
assert n >= 2
# Complete ...
@ -27,7 +28,5 @@ def genFibonacci(n):
lst.append(lst[i - 2] + lst[i - 1])
return lst
# NÃO precisa de invocar a função. O codecheck trata disso.
# You DO NOT need to call the function. Codecheck does that for you.

View File

@ -8,6 +8,7 @@ O programa já inclui instruções para ler uma lista de palavras inglesas a
partir do ficheiro wordlist.txt.
"""
# This function reads words from a file.
def load(fname):
with open(fname) as f:
@ -26,6 +27,8 @@ que o padrão nas mesmas posições, exceto onde o padrão tem ?.
Nas posições dos ?, não importa que carateres estão na string s.
A correspondência não deve fazer distinção entre maiúsculas e minúsculas.
"""
def matchesPattern(s, pattern):
# Complete ...
if len(s) != len(pattern):
@ -35,11 +38,14 @@ def matchesPattern(s, pattern):
return False
return True
""" b)
Complete a função filterPattern(lst, pattern) para extrair duma lista de strings
as strings que têm o padrão dado.
Sugestão: use a função matchesPattern para testar cada palavra.
"""
def filterPattern(lst, pattern):
# Complete ...
matches = []
@ -77,4 +83,3 @@ def main():
# Call main function:
if __name__ == "__main__":
main()

View File

@ -2,10 +2,12 @@
def matrows(M):
return len(M)
# Complete para devolver o número de colunas da matriz M.
def matcols(M):
return len(M[0])
# Complete a função para devolver uma matriz com m×n zeros.
def matzeros(m, n):
M = []
@ -13,11 +15,13 @@ def matzeros(m, n):
M.append(n * [0])
return M
def matzerosTEST(m, n):
M = matzeros(m, n)
M[0][1] = 1 # should change just 1 element!
return M
# Complete a função para multiplicar a matriz A pela matriz B.
def matmult(A, B):
assert matcols(A) == matrows(B)
@ -26,7 +30,7 @@ def matmult(A, B):
for A_row in A]
return C
def matmultTEST(A, B):
C = matmult(A, B)
return A, B, C

View File

@ -1,4 +1,4 @@
# Not passing codecheck tests
# Not passing codecheck tests although not sure why :skull:
def hondt(votes, numseats):
v = [vote for vote in votes]