Дано целое число лежащее диапазоне от 999 до 999 Вывести строку словес

  1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
#9.Дано целое число, лежащее в диапазоне от –999 до 999. Вывести строку — словесное описание данного числа вида "отрицательное двузначное число", "нулевое число", "положительное однозначное число" и т.д.
import random
input_number = random.randrange(-999, 999)
print ("input:", input_number)
output = ""
if(input_number == 0):
output = "null"
else:
if(input_number > 0):
output+= "positive "
elif (input_number < 0):
output+= "negative "
if(abs(input_number) > 0 and abs(input_number) < 10):
output+="one-digit number"
elif(abs(input_number) > 9 and abs(input_number) < 100):
output+="two-digit number"
elif(abs(input_number) > 99):
output+="three-digit number"
print output
#18. Дан массив чисел, определить количество элементов, равных минимальному значению в массиве
#!/usr/bin/python
#-*-coding:utf-8-*-
import random
heap = []
for i in xrange(1,20):
heap.append(random.randrange(0, 10))
print "heap is", heap
iter = 0
min = heap[0]
print "min", min
for x in heap:
if min > x:
min = x
iter = 1
elif(min == x):
iter+=1
print min, iter
#54. Найти частное Число1!/Число2! , заданные числа находятся в диапазоне от 1 до 35
#!/usr/bin/python
#-*-coding:utf-8-*-
import random
n_1 = random.randrange(1, 35)
n_2 = random.randrange(1, 35)
print n_1, n_2
def start(n1, n2):
print fact(n1)*1.0/fact(n2)
def fact(n):
if(n == 0): return 1
return n*fact(n-1)
start(n_1, n_2)
#64. Реализуйте функцию подсчета среднего балла по заданной команде для коллекции структур {имя, фамилия, год рождения, название команды, кол-во баллов в игре}
collection = []
class Person(object):
def __init__(self, name=None, lastname=None, year=None, team=None, points=0):
self.name = name
self.lastname = lastname
self.year = year
self.team = team
self.points = points
p1 = Person('Ivan', 'Ivanov', 1991, 'motherfuckers', 3)
p2 = Person('Ivan', 'Ivanov', 1991, 'motherfuckers', 2)
p3 = Person('Ivan', 'Ivanov', 1991, 'motherfuckers', 3)
p4 = Person('Ivan', 'Ivanov', 1991, 'motherfuckers', 4)
p5 = Person('Ivan', 'Ivanov', 1991, 'motherfuckers', 5)
p6 = Person('Ivan', 'Ivanov', 1991, 'motherfuckers', 6)
collection.append(p1)
collection.append(p2)
collection.append(p3)
collection.append(p4)
collection.append(p5)
collection.append(p6)
def averadge(self):
total = 0
for item in collection:
total += item.points
print total*1.0/len(collection)
#72. Дано натуральное число, определить, является ли оно палиндромом
word = "asdsa"
if(word == word[::-1]):
print 'polindrom'
#89. Удалить из двусязного списка элемент на заданной позиции (позиция задается числом)
#!/usr/bin/python
#-*-coding:utf-8-*-
import random
class Node(object):
def __init__(self, value, next = None, prev = None):
self.next = next
self.prev = prev
self.value = value
class LinkedList:
def __init__(self):
self.first = None
self.last = None
self.length = 0
def __str__(self):
if self.first != None:
current = self.first
out = 'LinkedList [' +str(current.value) + ', '
while current.next != None:
current = current.next
out += str(current.value) + ", "
return out + ']'
return 'LinkedList []'
def clear(self):
self.__init__()
def add(self, new_elem):
self.length+=1
if self.first == None:
self.last = self.first = Node(new_elem, None,)
else:
self.last.next = self.last = Node(new_elem, None)
def remove(self, position):
if(self.length > 0):
self.length-=1
else:
return
if (self.first == None):
return
old = curr = self.first
count = 0
if position == 0:
self.first = self.first.next
return
while curr != None:
if count == position:
if curr.next == self.last:
self.last = curr
break
else:
old.next = curr.next
break
old = curr
curr = curr.next
count += 1
L = LinkedList()
L.add(1)
L.add(2)
L.add(3)
L.add(4)
L.add(5)
L.add(6)
L.add(7)
print(L)
L.remove(0)
print(L)
#92. Напишите функцию очистки очереди
#!/usr/bin/python
#-*-coding:utf-8-*-
class Node:
def __init__(self, value, next = None):
self.next = next
self.value = value
class Queue:
def __init__(self):
self.first = None
self.last = None
self.length = 0
def __str__(self):
if self.first != None:
current = self.first
out = 'LinkedList [' +str(current.value) + ', '
while current.next != None:
current = current.next
out += str(current.value) + ", "
return out + ']'
return 'LinkedList []'
def clear(self):
self.__init__()
def add(self, new_elem):
self.length+=1
if self.first == None:
self.last = self.first = Node(new_elem, None)
else:
self.last.next = self.last = Node(new_elem, None)
def remove(self, position):
if(self.length > 0):
self.length-=1
else:
return
if (self.first == None):
return
old = curr = self.first
count = 0
if position == 0:
self.first = self.first.next
return
while curr != None:
if count == position:
if curr.next == self.last:
self.last = curr
break
else:
old.next = curr.next
break
old = curr
curr = curr.next
count += 1
def clear_queue(self):
while self.first != None:
print str(self.first.value)
self.remove(0)
L = Queue()
L.add(1)
L.add(2)
L.add(3)
L.add(4)
L.add(5)
L.add(6)
L.add(7)
print(L)
L.clear_queue()
print(L)