import streamlit as st
import pandas as pd
import random
# st.title("streamlit on pcafe")
df = pd.read_csv('nomes3.csv', encoding='latin', sep=';')
col1, col2 = st.columns(2)
with col1:
turma_escolhida = st.selectbox(
'Turma',
("3MA", "3MB", "3MC", "3MD"),
index = None,
label_visibility = 'collapsed',
placeholder = 'Escolha uma turma')
with col2:
nome_escolhido = st.selectbox(
'Nome',
df[df['Turma'] == turma_escolhida]['Nome'],
index = None,
label_visibility = 'collapsed',
placeholder = 'Escolha seu nome')
random.seed(nome_escolhido)
st.write(random.randint(0,100))
df_turma_selecionada = df[df['Turma'] == turma_escolhida]
################################ sortear variaveis
while True:
numeros = range(1,16)
var_r0 = random.choice(numeros)
var_r1 = random.choice(numeros)
var_r2 = random.choice(numeros)
var_r3 = random.choice(numeros)
var_r4 = random.choice(numeros)
var_r5 = random.choice(numeros)
var_r6 = random.choice(numeros)
var_r7 = random.choice(numeros)
var_r8 = random.choice(numeros)
var_r9 = random.choice(numeros)
var_r10 = random.choice(numeros)
var_r11 = random.choice(numeros)
var_r12 = random.choice(numeros)
var_r13 = random.choice(numeros)
var_r14 = random.choice(numeros)
var_r15 = random.choice(numeros)
var_r16 = random.choice(numeros)
var_r17 = random.choice(numeros)
var_r18 = random.choice(numeros)
var_r19 = random.choice(numeros)
var_r20 = random.choice(numeros)
var_r21 = random.choice(numeros)
var_r22 = random.choice(numeros)
var_r23 = random.choice(numeros)
var_r24 = random.choice(numeros)
var_r25 = random.choice(numeros)
var_r26 = random.choice(numeros)
var_r27 = random.choice(numeros)
var_r28 = random.choice(numeros)
var_r29 = random.choice(numeros)
var_r30 = random.choice(numeros)
var_r31 = random.choice(numeros)
var_r32 = 0 #random.choice(numeros)
var_r33 = random.choice(numeros)
var_r99 = random.choice(numeros)
var_r34 = var_r2 + var_r3 + var_r4 + var_r5
var_r35 = var_r6 + var_r7 + var_r8 + var_r9
var_r36 = (var_r34*var_r35)/(var_r34+var_r35)
var_r37 = var_r36 + var_r1 + var_r13
var_r38 = var_r14 + var_r15 + var_r16
var_r39 = var_r20 + var_r19 + var_r18 + var_r17
var_r40 = (var_r38*var_r39)/(var_r38+var_r39)
var_r41 = var_r40 + var_r99 + var_r12 + var_r11 + var_r10
var_r42 = (var_r37*var_r41)/(var_r37+var_r41)
var_r43 = var_r42 + var_r0 + var_r21
var_r44 = var_r22 + var_r23 + var_r24 + var_r25 + var_r26
var_r45 = var_r31 + var_r30 + var_r29 + var_r28 + var_r27
var_r46 = (var_r44*var_r45)/(var_r44+var_r45)
var_r47 = var_r43 + var_r46 + var_r33
# if var_r36.is_integer() and var_r40.is_integer() and var_r42.is_integer() and var_r46.is_integer():
# break
if var_r47.is_integer():
break
################################
st.write('Analise a figura abaixo e calcule sua resistência equivalente. Os valores para as resistências estão apresentados abaixo. Após a figura, você encontrará a resposta final.')
st.write(f'''R0 = {var_r0} Ω | R1 = {var_r1} Ω | R2 = {var_r2} Ω | R3 = {var_r3} Ω | R4 = {var_r4} Ω | R5 = {var_r5} Ω | R6 = {var_r6} Ω | R7 = {var_r7} Ω | R8 = {var_r8} Ω | R9 = {var_r9} Ω | R10 = {var_r10} Ω
R11 = {var_r11} Ω | R12 = {var_r12} Ω | R13 = {var_r13} Ω | R14 = {var_r14} Ω | R15 = {var_r15} Ω | R16 = {var_r16} Ω | R17 = {var_r17} Ω | R18 = {var_r18} Ω | R19 = {var_r19} Ω | R20 = {var_r20} Ω | R21 = {var_r21} Ω
R22 = {var_r22} Ω | R23 = {var_r23} Ω | R24 = {var_r24} Ω | R25 = {var_r25} Ω | R26 = {var_r26} Ω | R27 = {var_r27} Ω | R28 = {var_r28} Ω | R29 = {var_r29} Ω | R30 = {var_r30} Ω | R31 = {var_r31} Ω | R32 = {var_r32} Ω | R33 = {var_r33} Ω | R99 = {var_r99} Ω
''')
########### calcular req
# var_r34 = var_r2 + var_r3 + var_r4 + var_r5
# var_r35 = var_r6 + var_r7 + var_r8 + var_r9
# var_r36 = (var_r34*var_r35)/(var_r34+var_r35)
# var_r37 = var_r36 + var_r1 + var_r13
# var_r38 = var_r14 + var_r15 + var_r16
# var_r39 = var_r20 + var_r19 + var_r18 + var_r17
# var_r40 = (var_r38*var_r39)/(var_r38+var_r39)
# var_r41 = var_r40 + var_r99 + var_r12 + var_r11 + var_r10
# var_r42 = (var_r37*var_r41)/(var_r37+var_r41)
# var_r43 = var_r42 + var_r0 + var_r21
# var_r44 = var_r22 + var_r23 + var_r24 + var_r25 + var_r26
# var_r45 = var_r31 + var_r30 + var_r29 + var_r28 + var_r27
# var_r46 = (var_r44*var_r45*var_r32)/(var_r44*var_r45+var_r44*var_r32+var_r45*var_r32)
# var_r47 = var_r43 + var_r46 + var_r33
import schemdraw
import schemdraw.elements as elm
schemdraw.theme('monokai')
with schemdraw.Drawing(file='schematic.svg') as d:
# elm.Resistor().label('100KΩ')
d += elm.Dot()
R0 = d.add(elm.Resistor().label('R0'))
d.push()
r10 = d.add(elm.Resistor().down().label('R10'))
r11 = d.add(elm.Resistor().down().label('R11'))
d.add(elm.Line().down())
r12 = d.add(elm.Resistor().right().label('R12'))
r14 = d.add(elm.Resistor().theta(65).label('R14'))
r15 = d.add(elm.Resistor().right().label('R15'))
d.add(elm.Line().right())
r16 = d.add(elm.Resistor().theta(-65).label('R16'))
r17 = d.add(elm.Resistor().theta(-130).label('R17'))
r18 = d.add(elm.Resistor().left().label('R18'))
r19 = d.add(elm.Resistor().left().label('R19'))
r20 = d.add(elm.Resistor().label('R20').to(r14.start))
d.pop()
r1 = d.add(elm.Resistor().right().label('R1'))
d.push()
r2 = d.add(elm.Resistor().theta(45+20).label('R2'))
r3 = d.add(elm.Resistor().right().label('R3'))
r4 = d.add(elm.Resistor().label('R4'))
r5 = d.add(elm.Resistor().theta(-65).label('R5'))
d.pop()
r6 = d.add(elm.Resistor().theta(-65).label('R6'))
r7 = d.add(elm.Resistor().right().label('R7'))
r8 = d.add(elm.Resistor().label('R8'))
r9 = d.add(elm.Resistor().label('R9').to(r5.end))
r13 = d.add(elm.Resistor().right().label('R13'))
d.add(elm.Line().down())
d.add(elm.Line().down())
d.push()
r99 = d.add(elm.Resistor().label('R99').to(r16.end))
d.pop()
r21 = d.add(elm.Resistor().right().label('R21'))
r22 = d.add(elm.Resistor().theta(72).label('R22'))
r23 = d.add(elm.Resistor().theta(72-36).label('R23'))
r24 = d.add(elm.Resistor().theta(72-(36*2)).label('R24'))
r25 = d.add(elm.Resistor().theta(72-(36*3)).label('R25'))
r26 = d.add(elm.Resistor().theta(72-(36*4)).label('R26'))
r27 = d.add(elm.Resistor().theta(72-(36*5)).label('R27'))
r28 = d.add(elm.Resistor().theta(72-(36*6)).label('R28'))
r29 = d.add(elm.Resistor().theta(72-(36*7)).label('R29'))
r30 = d.add(elm.Resistor().theta(72-(36*8)).label('R30'))
r31 = d.add(elm.Resistor().theta(72-(36*9)).label('R31'))
d.add(elm.Line().right())
r32 = d.add(elm.Resistor().right().label('R32'))
d.add(elm.Line().right().to(r26.end))
r33 = d.add(elm.Resistor().right().label('R33'))
d += elm.Dot()
# elm.Resistor().label('100KΩ')
# elm.Resistor().left().label('100KΩ')
# elm.Resistor().up().label('100KΩ')
# elm.Capacitor().down().label('0.1μF', loc='bottom')
# elm.Line().left()
# elm.Ground()
# elm.SourceV().up().label('10V')
#https://schemdraw.readthedocs.io/en/0.9.1/usage/placement.html
st.image('schematic.svg')
numerator, denominator = var_r47.as_integer_ratio()
st.write(f'O resultado é {var_r47:.0f} Ω')
# st.write(f'{numerator}/{denominator}')