Python HW8
unknown
python
3 years ago
2.5 kB
9
Indexable
#1
a = eval(input("Enter a number: "))
a_new = a
b = ""
c = 0
if a == 0:
result = "0"
elif a < 0:
result = "It is negative"
else:
while True:
if a_new < 1:
break
if int(a_new) % 2 == 0:
b = "0" + b
else:
b = "1" + b
a_new /= 2
print(f"binary: {b}")
power = 0
for i in reversed(range(len(b))):
c += int(b[i]) * power * power
power += 1
if a == c:
print(f"decimal: {c}")
#2
class Freq:
def __init__(self, letter, freq):
self.letter = letter
self.freq = freq
text = input("Enter some text: ")
data = list()
count = 0
for i in text:
detect = False
for j in range(len(data)):
if i == data[j].letter :
data[j].freq += 1
detect = True
break
if detect == False:
data.append(Freq(i, 1))
count += 1
print("-- Character Frequency Table --")
for i in data:
print(f"{i.letter}\t {(i.freq / count) * 100:.2f}%")
# 3
class Freq:
def __init__(self, letter, freq):
self.letter = letter
self.freq = freq
text = input("Enter some text: ")
data = list()
count = 0
for i in text:
detect = False
for j in range(len(data)):
if i == data[j].letter :
data[j].freq += 1
detect = True
break
if detect == False:
data.append(Freq(i, 1))
count += 1
import turtle as t
t2 = t.Turtle()
t.speed(10)
for i in range(len(data)):
t.forward(10)
t.penup()
t.right(90)
t.forward(20)
t.left(90)
t.write(data[i].letter)
t.left(90)
t.forward(20)
t.right(90)
t.pendown()
t.left(90)
t.forward(data[i].freq * 20)
t.right(90)
t.forward(10)
t.right(90)
t.forward(data[i].freq * 20)
t.left(90)
t.backward(20)
t.forward(20)
t.forward(20)
longest = 0
for i in range(len(data)):
if data[i].freq > longest:
longest = data[i].freq
t2.left(90)
t2.forward((longest * 20) + 20)
t.done()
#4
a = input("Enter the first 9 digits of an USBN-10 as a string: ")
sum = 0
if len(a) == 9:
for i in range(len(a)):
sum += int(a[i]) * (i+1)
sum %= 11
if sum == 10:
sum = "X"
print(f"Your ISBN-10 number is {a + str(sum)}")Editor is loading...