Skip to content

Instantly share code, notes, and snippets.

@HoseanRC
Created December 14, 2024 05:43
Show Gist options
  • Save HoseanRC/a60ba11cd0a017d461834f0cb0fff11d to your computer and use it in GitHub Desktop.
Save HoseanRC/a60ba11cd0a017d461834f0cb0fff11d to your computer and use it in GitHub Desktop.
15 University python exercises

Exercise 1:

print("test #1");

print(int(input("Enter number: ")[::-1]) * 2);

Run:

~/uni-python $ python 1.py
test #1
Enter number: 342
486

Exercise 2:

import math

print("test #2");

print((math.floor(int(input("Type a number: ")) / 10) + 1) * 10);

Run:

~/uni-python $ python 2.py
test #2
Type a number: 76
80

Exercise 3:

def check(age: int):
    if age < 6:
        print("khordsal");
        return;
    if age < 10:
        print("koodak");
        return;
    if age < 14:
        print("nojavan");
        return;
    if age < 24:
       print("javan");
       return;
    if age < 40:
       print("bozorgsal");
       return;
    print("miansal");
print("test #3");
age: int = int(input("Enter Age: "));
check(age);

Run:

~/uni-python $ python 3.py
test #3
Enter Age: 32
bozorgsal

Exercise 4:

def prime(n):
    for i in range(2,int(n**0.5)+1):
        if n%i==0:
            return "not prime";
        return "prime";
print("test #4");
print(prime(int(input("Enter Number: "))));

Run:

~/uni-python $ python 4.py
test #4
Enter Number: 51
not prime
~/uni-python $ python 4.py
test #4
Enter Number: 23
prime

Exercise 5:

print("test #5");
students : dict = {};
while True:
    name = input("Name: ");
    if name == "" or name == "-1":
        break;
    age = input("Age: ");
    if age == "" or age == "-1":
        break;
    print("");
    students[name] = int(age);
sortedDict = {k: v for k, v in sorted(students.items(), key=lambda item: item[1])};
a = list(sortedDict.keys())[-1];
b = list(sortedDict.keys())[-2];
print(a, "=", sortedDict[a]);
print(b, "=", sortedDict[b]);

Run:

~/uni-python $ python 5.py
test #5
Name: Ali
Age: 19

Name: Ahmad
Age: 21

Name: Amin
Age: 18

Name: -1
Ahmad = 21
Ali = 19

Exercise 6:

def getNums(n):
    nums = [];
    for i in range(1, int(n / 2) + 1):
        if n%i==0:
            nums.append(str(i));
    nums.append(str(n));
    return nums;
print("test #6");
currentNum = 0;
currentNumList = [];
for i in range(20):
    tempNum = int(input("Enter number " + str(i + 1) + ": "));
    tempNumList = getNums(tempNum);
    if (len(tempNumList) > len(currentNumList)) or (len(tempNumList) == len(currentNumList) and tempNum > currentNum):
        currentNumList = tempNumList;
        currentNum = tempNum;
print(str(currentNum) + " => " + ", ".join(currentNumList) + " [" + str(len(currentNumList)) + "]");

Run:

~/uni-python $ python 6.py
test #6
Enter number 1: 67
Enter number 2: 43
Enter number 3: 87
Enter number 4: 46
Enter number 5: 98
Enter number 6: 160
Enter number 7: 231
Enter number 8: 43
Enter number 9: 77
Enter number 10: 132
Enter number 11: 650
Enter number 12: 400
Enter number 13: 420
Enter number 14: 320
Enter number 15: 326
Enter number 16: 768
Enter number 17: 54
Enter number 18: 57
Enter number 19: 89
Enter number 20: 90
420 => 1, 2, 3, 4, 5, 6, 7, 10, 12, 14, 15, 20, 21, 28, 30, 35, 42, 60, 70, 84, 105, 140, 210, 420 [24]

Exercise 7:

print("test #7");
text = input("Enter text: ");
fixedText = "";
for x in text:
    if "aeiou".count(x.lower()):
        continue;
    if x.lower() != x.upper():
        fixedText += "." + x.lower();
    else:
        fixedText += x;
print(fixedText);

Run:

~/uni-python $ python 7.py
test #7
Enter text: Hello World!
.h.l.l .w.r.l.d!

Exercise 8:

print("test #8");
sumText = input("Enter sum text: ");
sumList = list(map(int, sumText.split("+")));
sumList.sort();
sumStrList = list(map(str, sumList[::-1]));
print(" + ".join(sumStrList));

Run:

~/uni-python $ python 8.py
test #8
Enter sum text: 12+75+38+3+2+88+64+09+35
88 + 75 + 64 + 38 + 35 + 12 + 9 + 3 + 2

Exercise 9:

print("test #9");
for i in range(10):
    name = input("Enter name " + str(i + 1) + ": ");
    print(name, "=>", name.title());

Run:

~/uni-python $ python 9.py
test #9
Enter name 1: alI
alI => Ali
Enter name 2: MoHamMad
MoHamMad => Mohammad
Enter name 3: hoSean
hoSean => Hosean
Enter name 4: hASAN
hASAN => Hasan
Enter name 5: AmiR
AmiR => Amir
Enter name 6: rezA
rezA => Reza
Enter name 7: zahra
zahra => Zahra
Enter name 8: fateMeh
fateMeh => Fatemeh
Enter name 9: taghi
taghi => Taghi
Enter name 10: omid
omid => Omid

Exercise 10:

print("test #10");
text = input("Enter text: ");
if list(text) == list(text)[::-1]:
    print("palindrome");
else:
    print("not palindrome");

Run:

~/uni-python $ python 10.py
test #10
Enter text: hello
not palindrome
~/uni-python $ python 10.py
test #10
Enter text: madam
palindrome

Exercise 11:

import random

print("test #11");

diceA = random.randint(1, 6);
diceB = random.randint(1, 6);
print("Dice 1 =", diceA);
print("Dice 2 =", diceB);
diceT = diceA + diceB;
print(diceA, "+", diceB, "=", diceT);
if diceT == 7 or diceT == 11:
    print("you win!");
elif diceT == 2 or diceT == 3 or diceT == 12:
    print("you lose!");
else:
    while True:
        print("\nyou have to roll for " + str(diceT) + " in total, and avoid 7.\n");
        input("Enter to re-roll");
        diceC = random.randint(1, 6);
        diceD = random.randint(1, 6);
        print("Dice 1 =", diceC);
        print("Dice 2 =", diceD);
        diceT2 = diceC + diceD;
        print(diceC, "+", diceD, "=", diceT2);
        if diceT == diceT2:
            print("you win!");
            break;
        if diceT2 == 7:
            print("you lose!");
            break;

Run:

~/uni-python $ python 11.py
test #11
Dice 1 = 2
Dice 2 = 1
2 + 1 = 3
you lose!
~/uni-python $ python 11.py
test #11
Dice 1 = 3
Dice 2 = 2
3 + 2 = 5

you have to roll for 5 in total, and avoid 7.

Enter to re-roll
Dice 1 = 4
Dice 2 = 6
4 + 6 = 10

you have to roll for 5 in total, and avoid 7.

Enter to re-roll
Dice 1 = 6
Dice 2 = 1
6 + 1 = 7
you lose!

Exercise 12:

print("test #12");

x1 = int(input("Enter x1: "));
x2 = int(input("Enter x2: "));
x3 = int(input("Enter x3: "));
xList = [x1, x2, x3];
xList.sort();
distance = xList[2] - xList[0];
middle = xList[0] + (distance / 2);
middleDistance = abs(middle - xList[1]);
print(distance + middleDistance);

Run:

~/uni-python $ python 12.py
test #12
Enter x1: 64
Enter x2: 12
Enter x3: 32
58.0
~/uni-python $ python 12.py
test #12
Enter x1: 10
Enter x2: 30
Enter x3: 20
20.0

Exercise 13:

print("test #13");

n = int(input("Enter number: "));
productList = [];
for i in range(n):
    a = int(input("\nEnter price: "));
    b = int(input("Enter quality: "));
    productList.append([a, b]);
sortedList = sorted(productList, key=lambda l:l[0]);
qualityList = [ v[1] for v in sortedList ];
qualityListCopy = qualityList.copy();
qualityListCopy.sort();
if qualityListCopy != qualityList:
    print("happy");
else:
    print("poor");

Run:

~/uni-python $ python 13.py
test #13
Enter number: 3

Enter price: 50
Enter quality: 80

Enter price: 55
Enter quality: 75

Enter price: 40
Enter quality: 70
happy

Exercise 14:

print("test #14");

words = {};
n = int(input("Enter number: "));
for i in range(n):
    text = input("Enter word and translation: ").split(" ");
    words[text[0]] = text[1];
outputText = "";
text = input("Enter text to translate: ").split(" ");
for word in text:
    if words.get(word) == None:
        outputText += word;
    else:
        outputText += words.get(word);
    outputText += " ";
print(outputText);

Run:

~/uni-python $ python 14.py
test #14
Enter number: 3
Enter word and translation: boro go
Enter word and translation: bia come
Enter word and translation: wa and
Enter text to translate: ye lahze boro wa bia
ye lahze go and come

Exercise 15:

print("test #15");

while True:
    text = input("Enter number: ");
    if text == "":
        break;
    print(int((int(text) ** 0.5) * 10000) / 10000);

Run:

~/uni-python $ python 15.py
test #15
Enter number: 25
5.0
Enter number: 86
9.2736
Enter number: 3
1.732
Enter number: 21
4.5825
Enter number: 43
6.5574
Enter number: 67
8.1853
Enter number:
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment