## Shuffle Deck of Cards

0 likes • May 31, 2023 • 0 views
Python

## More Python Posts

#### combine values

0 likes • Nov 19, 2022 • 0 views
Python
```from collections import defaultdict
def combine_values(*dicts):  res = defaultdict(list)  for d in dicts:    for key in d:      res[key].append(d[key])  return dict(res)  d1 = {'a': 1, 'b': 'foo', 'c': 400}d2 = {'a': 3, 'b': 200, 'd': 400}
combine_values(d1, d2) # {'a': [1, 3], 'b': ['foo', 200], 'c': [400], 'd': [400]}```

#### Display Calendar

0 likes • May 31, 2023 • 0 views
Python
```import calendar
# Prompt user for year and monthyear = int(input("Enter the year: "))month = int(input("Enter the month: "))
# Create a calendar objectcal = calendar.monthcalendar(year, month)
# Display the calendarprint(calendar.month_name[month], year)print("Mon  Tue  Wed  Thu  Fri  Sat  Sun")
for week in cal:    for day in week:        if day == 0:            print("     ", end="")        else:            print(str(day).rjust(2), "  ", end="")    print()```

#### Compute all the Permutation of a String

0 likes • May 31, 2023 • 0 views
Python
```import itertools
def compute_permutations(string):    # Generate all permutations of the string    permutations = itertools.permutations(string)
# Convert each permutation tuple to a string    permutations = [''.join(permutation) for permutation in permutations]
return permutations
# Prompt the user for a stringstring = input("Enter a string: ")
# Compute permutationspermutations = compute_permutations(string)
# Display the permutationsprint("Permutations:")for permutation in permutations:    print(permutation)```

#### Hello, python

0 likes • Jan 20, 2021 • 2 views
Python
`print(“Hello World”)`

0 likes • Nov 18, 2022 • 0 views
Python
```import os, json, boto3, requestsfrom flask import Flask, request, jsonifyfrom flask_cors import CORS, cross_originfrom random import shuffle
app = Flask(__name__)cors = CORS(app)
dynamodb = boto3.resource("dynamodb", region_name="us-east-1")
app.url_map.strict_slashes = FalseSECRET_KEY = os.environ.get("SECRET_KEY")

@app.route("/teks")def teks_request():    teks_file = open("teks.json", "r")    data = json.load(teks_file)    return jsonify(data)

@app.route("/teks/find/113.41.<int:teks_id>.<string:section_id>")def teks_find_request(teks_id, section_id):    teks_file = open("teks.json", "r")    data = json.load(teks_file)    for item in data:        if item["id"] == teks_id:            for child in item["children"]:                if child["id"] == section_id:                    return {"tek": item, "content": child["content"]}    return jsonify(        [            f"Something went wrong. TEKS section id of {section_id} cannot be found within TEKS section {teks_id}."        ]    )
@app.route("/lessonplan/read/<id>")def read_lesson_plan(id):    lesson_table = dynamodb.Table("Lesson_Plans")    items = lesson_table.scan()['Items']    for lesson in items:        if (lesson["uuid"] == id):            return jsonify(lesson)    return {"error": "id does not exist", "section": id}
@app.route("/teks/<int:teks_id>")def teks_id_request(teks_id):    teks_file = open("teks.json", "r")    data = json.load(teks_file)    for item in data:        if item["id"] == teks_id:            return jsonify(item)    return jsonify([f"Something went wrong. TEKS id of {teks_id} cannot be found."])

@app.route("/assessment/write", methods=["GET", "POST"])def assessment_write():    assessment_json = request.json    assessment_data = dict(assessment_json)    assessment_table = dynamodb.Table("Assessments")    assessment_table.put_item(Item=assessment_data)
if assessment_data == get_assessment(assessment_data["id"]):        return "Success"    else:        return "Failure"
@app.route("/students/read")def all_students_read():    student_table = dynamodb.Table("Students")     items = student_table.scan()['Items']    return jsonify(items)

@app.route("/assessment/submit/<id>", methods=["POST"])def submit_assessment(id):    assessments_table = dynamodb.Table("Assessments")    assessment = assessments_table.get_item(Key={"id": id})
if not assessment.get("Item"):        return {"error": "id does not exist", "section": id}
responses = {        question["id"]: question["response"]        for question in request.json.get("questions")    }
for response in responses:        # print(        #     (        #         responses[response],        #         find_question(assessment.get("Item").get("questions"), response).get(        #             "correctAnswer"        #         ),        #     )        # )        if responses[response] == find_question(            assessment.get("Item").get("questions"), response        ).get("correctAnswer"):
score = correct_answers / len(request.json.get("questions"))
users_table = dynamodb.Table("Students")
users_table.update_item(        Key={"uuid": request.json.get("student_id")},        UpdateExpression="SET completedAssessments = list_append(completedAssessments, :i)",        ExpressionAttributeValues={            ":i": [                {                    "id": id,                    "score": round(score * 100),                }            ]        },    )
message = None    if round(score * 100) > 70:        message = f"Congratulations! You passed your assessment with a {round(score * 100)}%."    else:        message = f"You failed your assessment with a {round(score * 100)}%."
sns = boto3.client("sns", region_name="us-east-1")    number = "+15125967383"    sns.publish(PhoneNumber=number, Message=message)
return {"score": score, "message": message}

def find_question(all, id):    #print("id to find: ", id)    for question in all:        if question["id"] == id:            #print(question)            return question

def get_assessment(id):    assessment_table = dynamodb.Table("Assessments")    results = assessment_table.get_item(Key={"id": id})
if results.get("Item") is None:        return {"error": "id does not exist", "section": id}    else:        quiz = results.get("Item")        return {            "title": quiz.get("title"),            "id": quiz.get("id"),            "questions": [                {                    "id": question.get("id"),                    "title": question.get("title"),                    "options": random_answers(                        question.get("incorrectAnswers")                        + [question.get("correctAnswer")]                    ),                }                for question in quiz.get("questions")            ],        }
def get_students(id):    students_table = dynamodb.Table('Students')    results = students_table.get_item(Key = {        "uuid": id    })
if(results.get("Item") is None):        return {'error': 'id does not exist', 'section': id}    else:        student = results.get("Item")        return student
def lesson_plans_read():    student_table = dynamodb.Table("Lesson_Plans")    items = student_table.scan()['Items']    return jsonify(items)
@app.route("/recommendations/<uuid>")def get_recommendation(uuid):    student_info_table = dynamodb.Table('Students')    lesson_plans_table = dynamodb.Table('Lesson_Plans')    student = get_students(uuid)    tek = student.get("struggleTeks")[0]
lesson_plans = lesson_plans_table.scan( Select='ALL_ATTRIBUTES', FilterExpression='tek = :s', ExpressionAttributeValues={ ":s": tek })
#print(lesson_plans)
return jsonify({"student": student, "lesson_plans": lesson_plans.get("Items")})
if __name__ == "__main__":    app.run(host="0.0.0.0", debug=True)```

#### Bogo Sort

0 likes • Nov 19, 2022 • 0 views
Python
```# Python program for implementation of Bogo Sortimport random
# Sorts array a[0..n-1] using Bogo sortdef bogoSort(a):	n = len(a)	while (is_sorted(a)== False):		shuffle(a)
# To check if array is sorted or notdef is_sorted(a):	n = len(a)	for i in range(0, n-1):		if (a[i] > a[i+1] ):			return False	return True
# To generate permuatation of the arraydef shuffle(a):	n = len(a)	for i in range (0,n):		r = random.randint(0,n-1)		a[i], a[r] = a[r], a[i]
# Driver code to test abovea = [3, 2, 4, 1, 0, 5]bogoSort(a)print("Sorted array :")for i in range(len(a)):	print ("%d" %a[i]),```