Added 1st lab solutions
This commit is contained in:
parent
bf94a2b282
commit
641b8a407b
3 changed files with 72 additions and 0 deletions
14
count_in_array.py
Executable file
14
count_in_array.py
Executable file
|
@ -0,0 +1,14 @@
|
|||
#!/usr/bin/env python3
|
||||
|
||||
def count_in_array(x, A):
|
||||
c = 0
|
||||
for elem in A:
|
||||
if elem == x:
|
||||
c = c + 1
|
||||
return c
|
||||
|
||||
def main():
|
||||
print(count_in_array(5, [7, 5, 16, 3, 10, 5, 8, 1, 29, 13, 28]))
|
||||
|
||||
if __name__ == "__main__":
|
||||
main()
|
34
histogram.py
Executable file
34
histogram.py
Executable file
|
@ -0,0 +1,34 @@
|
|||
#!/usr/bin/env python3
|
||||
|
||||
import sys
|
||||
|
||||
def histogram(data):
|
||||
height_max = max(data)
|
||||
height_min = min(min(data), 0)
|
||||
current_line = height_max
|
||||
|
||||
while current_line >= height_min:
|
||||
to_print = ""
|
||||
|
||||
if current_line == 0:
|
||||
print("-" * len(data))
|
||||
else:
|
||||
for elem in data:
|
||||
if current_line > 0 and elem >= current_line:
|
||||
to_print += "#"
|
||||
elif current_line > 0:
|
||||
to_print += " "
|
||||
elif current_line < 0 and elem <= current_line:
|
||||
to_print += "#"
|
||||
else:
|
||||
to_print += " "
|
||||
print(to_print)
|
||||
|
||||
current_line = current_line - 1
|
||||
|
||||
def main():
|
||||
args = [int(x) for x in sys.argv[1:]]
|
||||
histogram(args)
|
||||
|
||||
if __name__ == "__main__":
|
||||
main()
|
24
partition_even_odd.py
Executable file
24
partition_even_odd.py
Executable file
|
@ -0,0 +1,24 @@
|
|||
#!/usr/bin/env python3
|
||||
# vim: set ts=4 sw=4 et tw=80:
|
||||
|
||||
import sys
|
||||
|
||||
# This is a modified version of BubbleSort that swaps elements only if the first
|
||||
# is odd and the second one is even
|
||||
def partition_even_odd(x):
|
||||
i = len(x) - 1
|
||||
while i > 0:
|
||||
for j in range(0, i):
|
||||
if x[j] % 2 == 1 and x[j+1] % 2 == 0:
|
||||
c = x[j]
|
||||
x[j] = x[j+1]
|
||||
x[j+1] = c
|
||||
i = i - 1
|
||||
|
||||
def main():
|
||||
args = [int(x) for x in sys.argv[1:]]
|
||||
partition_even_odd(args)
|
||||
print(args)
|
||||
|
||||
if __name__ == "__main__":
|
||||
main()
|
Reference in a new issue