2 added 7 characters in body
source | link

Python 2, 114114 110 bytes

i=input()
n=1.*sum('@'<c<'['for c in i)/sum(c.isalpha()for c in i)
print[nprint max(n,1-n][n<.5],['upp'n),'low'][n<'ulpopw'[n<.5]+'ercase'5::2]+'ercase'

Python 2, 114 bytes

i=input()
n=1.*sum('@'<c<'['for c in i)/sum(c.isalpha()for c in i)
print[n,1-n][n<.5],['upp','low'][n<.5]+'ercase'

Python 2, 114 110 bytes

i=input()
n=1.*sum('@'<c<'['for c in i)/sum(c.isalpha()for c in i)
print max(n,1-n),'ulpopw'[n<.5::2]+'ercase'
1
source | link

Python 2, 114 bytes

i=input()
n=1.*sum('@'<c<'['for c in i)/sum(c.isalpha()for c in i)
print[n,1-n][n<.5],['upp','low'][n<.5]+'ercase'