-
Notifications
You must be signed in to change notification settings - Fork 0
/
Python_Quiz_4.py
22 lines (20 loc) · 1.1 KB
/
Python_Quiz_4.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
'''if a filesystem has a block size of 4096 bytes, this means that a file comprised of only one byte will
still use 4096 bytes of storage. A file made up of 4097 bytes will use 4096*2=8192 bytes of storage. Knowing
this, can you fill in the gaps in the calculate_storage function below, which calculates the total number of
bytes needed to storage a file of a given size...? '''
def calculate_storage(filesize):
block_size = 4096
# Use floor division to calculate how many blocks are fully occupied
full_blocks = filesize // block_size
# Use the modulo operator to check whether there's any remainder
partial_block_remainder = filesize % block_size
# Depending on whether there's a remainder or not, return
# the total number of bytes required to allocate enough blocks
# to store your data.
if partial_block_remainder > 0:
return 4096 * (full_blocks + 1)
return 4096
print(calculate_storage(1)) #Should be 4096
print(calculate_storage(4096)) #Should be 4096
print(calculate_storage(4097)) #Should be 4096
print(calculate_storage(6000)) #Should be 4096