show source code in lessions page

This commit is contained in:
Carl Zh.
2024-11-04 16:58:46 -06:00
parent 14e411f398
commit 90dc7e1448
6 changed files with 83 additions and 2 deletions

View File

@@ -141,13 +141,13 @@
</div>
</div>
<!-- <div class="faculty">
<div class="faculty">
<img src="https://www.wtamu.edu/_files/images/academics/college-business/headshots/dana-kareem-22.png" alt="Mr. Kareem Dana">
<div class="faculty-info">
<strong>Mr. Kareem Dana</strong><br>
<a href="mailto:kdana@wtamu.edu">kdana@wtamu.edu</a>
</div>
</div> -->
</div>
</div>
</div>

View File

@@ -38,3 +38,24 @@ def pythonx_lesson2():
ax.imshow(wordcloud, interpolation='bilinear')
plt.axis("off")
st.pyplot(fig)
source_code = """
import streamlit as st
from wordcloud import WordCloud
import matplotlib.pyplot as plt
text = st.text_area("Please input text to analyze")
if st.button("Analyze"):
# Create a WordCloud object
wordcloud = WordCloud(width=800, height=400, background_color='white').generate(text)
fig, ax = plt.subplots()
ax.imshow(wordcloud, interpolation='bilinear')
plt.axis("off")
st.pyplot(fig)
"""
st.divider()
st.subheader("**Source Code of the Sample App.**")
st.code(source_code, line_numbers=True)

View File

@@ -75,3 +75,63 @@ def pythonx_lesson3():
st.success('Done')
source_code = """
from datetime import date, datetime
import streamlit as st
import yfinance as yf
import plotly.express as px
# print text formatted by HTML
st.markdown(
"<h1 style='text-align:center; color:red;'> Sample Stock Price App. </h1>",
unsafe_allow_html=True)
st.write(
'We will use the code learned from previous lecture to build an online application for tracing stock price'
)
# print text in markdown
st.markdown("## **Check Stock Information**")
# a list of stock names
stock_names = ['MSFT', 'AAPL', 'AMZN', 'GOOGL']
# select a stock to check
target_stock = st.selectbox('Select a stock to check', options=stock_names)
st.markdown("## **Check Stock Price History**")
# start date of the stock infomation, default is the first day of year 2024
start_date = st.date_input('Start Date', datetime(2024, 1, 1))
# end date of the stock infomation, default is date of today
end_date = st.date_input("End Date")
# get today date
today = date.today()
if st.button('Submit'):
# check valid date
if start_date > today or end_date > today:
st.write("## **Please select a valid date period.**")
else:
# download the stock data based on stock name, start/end date
data = yf.download(target_stock, start_date, end_date)
# show a progress bar
with st.spinner(text='In progress'):
fig = px.line(data,
x=data.index,
y=['Open', 'High', 'Low', 'Close'],
title=target_stock + " Stock Price",
labels={
"value": "Stock Price ($)",
"variable": "Price Type"
})
st.write(fig)
st.success('Done')
"""
st.divider()
st.subheader("**Source Code of the Sample App.**")
st.code(source_code, line_numbers=True)