You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardexpand all lines: 100+ Python challenging programming exercises.txt
+324
Original file line number
Diff line number
Diff line change
@@ -2040,13 +2040,337 @@ t = Timer("for i in range(100):1+1")
2040
2040
print t.timeit()
2041
2041
2042
2042
#----------------------------------------#
2043
+
Question:
2044
+
2045
+
Please write a program to shuffle and print the list [3,6,7,8].
2046
+
2047
+
2048
+
2049
+
Hints:
2050
+
Use shuffle() function to shuffle a list.
2051
+
2052
+
Solution:
2053
+
2054
+
from random import shuffle
2055
+
li = [3,6,7,8]
2056
+
shuffle(li)
2057
+
print li
2058
+
2059
+
#----------------------------------------#
2060
+
Question:
2061
+
2062
+
Please write a program to shuffle and print the list [3,6,7,8].
2063
+
2064
+
2065
+
2066
+
Hints:
2067
+
Use shuffle() function to shuffle a list.
2068
+
2069
+
Solution:
2070
+
2071
+
from random import shuffle
2072
+
li = [3,6,7,8]
2073
+
shuffle(li)
2074
+
print li
2075
+
2076
+
2077
+
2078
+
#----------------------------------------#
2079
+
Question:
2080
+
2081
+
Please write a program to generate all sentences where subject is in ["I", "You"] and verb is in ["Play", "Love"] and the object is in ["Hockey","Football"].
2082
+
2083
+
Hints:
2084
+
Use list[index] notation to get a element from a list.
Please write a program to print the list after removing delete even numbers in [5,6,77,45,22,12,24].
2100
+
2101
+
Hints:
2102
+
Use list comprehension to delete a bunch of element from a list.
2103
+
2104
+
Solution:
2105
+
2106
+
li = [5,6,77,45,22,12,24]
2107
+
li = [x for x in li if x%2!=0]
2108
+
print li
2109
+
2110
+
#----------------------------------------#
2111
+
Question:
2112
+
2113
+
By using list comprehension, please write a program to print the list after removing delete numbers which are divisible by 5 and 7 in [12,24,35,70,88,120,155].
2114
+
2115
+
Hints:
2116
+
Use list comprehension to delete a bunch of element from a list.
2117
+
2118
+
Solution:
2119
+
2120
+
li = [12,24,35,70,88,120,155]
2121
+
li = [x for x in li if x%5!=0 and x%7!=0]
2122
+
print li
2123
+
2124
+
2125
+
#----------------------------------------#
2126
+
Question:
2127
+
2128
+
By using list comprehension, please write a program to print the list after removing the 0th, 2nd, 4th,6th numbers in [12,24,35,70,88,120,155].
2129
+
2130
+
Hints:
2131
+
Use list comprehension to delete a bunch of element from a list.
2132
+
Use enumerate() to get (index, value) tuple.
2133
+
2134
+
Solution:
2135
+
2136
+
li = [12,24,35,70,88,120,155]
2137
+
li = [x for (i,x) in enumerate(li) if i%2!=0]
2138
+
print li
2139
+
2140
+
#----------------------------------------#
2141
+
2142
+
Question:
2143
+
2144
+
By using list comprehension, please write a program generate a 3*5*8 3D array whose each element is 0.
2145
+
2146
+
Hints:
2147
+
Use list comprehension to make an array.
2148
+
2149
+
Solution:
2150
+
2151
+
array = [[ [0 for col in range(8)] for col in range(5)] for row in range(3)]
2152
+
print array
2153
+
2154
+
#----------------------------------------#
2155
+
Question:
2156
+
2157
+
By using list comprehension, please write a program to print the list after removing the 0th,4th,5th numbers in [12,24,35,70,88,120,155].
2158
+
2159
+
Hints:
2160
+
Use list comprehension to delete a bunch of element from a list.
2161
+
Use enumerate() to get (index, value) tuple.
2162
+
2163
+
Solution:
2164
+
2165
+
li = [12,24,35,70,88,120,155]
2166
+
li = [x for (i,x) in enumerate(li) if i not in (0,4,5)]
2167
+
print li
2168
+
2169
+
2170
+
2171
+
#----------------------------------------#
2172
+
2173
+
Question:
2174
+
2175
+
By using list comprehension, please write a program to print the list after removing the value 24 in [12,24,35,24,88,120,155].
2176
+
2177
+
Hints:
2178
+
Use list's remove method to delete a value.
2179
+
2180
+
Solution:
2181
+
2182
+
li = [12,24,35,24,88,120,155]
2183
+
li = [x for x in li if x!=24]
2184
+
print li
2185
+
2186
+
2187
+
#----------------------------------------#
2188
+
Question:
2189
+
2190
+
With two given lists [1,3,6,78,35,55] and [12,24,35,24,88,120,155], write a program to make a list whose elements are intersection of the above given lists.
2043
2191
2192
+
Hints:
2193
+
Use set() and "&=" to do set intersection operation.
2194
+
2195
+
Solution:
2196
+
2197
+
set1=set([1,3,6,78,35,55])
2198
+
set2=set([12,24,35,24,88,120,155])
2199
+
set1 &= set2
2200
+
li=list(set1)
2201
+
print li
2202
+
2203
+
#----------------------------------------#
2204
+
2205
+
With a given list [12,24,35,24,88,120,155,88,120,155], write a program to print this list after removing all duplicate values with original order reserved.
2206
+
2207
+
Hints:
2208
+
Use set() to store a number of values without duplicate.
2209
+
2210
+
Solution:
2211
+
2212
+
def removeDuplicate( li ):
2213
+
newli=[]
2214
+
seen = set()
2215
+
for item in li:
2216
+
if item not in seen:
2217
+
seen.add( item )
2218
+
newli.append(item)
2219
+
2220
+
return newli
2221
+
2222
+
li=[12,24,35,24,88,120,155,88,120,155]
2223
+
print removeDuplicate(li)
2224
+
2225
+
2226
+
#----------------------------------------#
2227
+
Question:
2228
+
2229
+
Define a class Person and its two child classes: Male and Female. All classes have a method "getGender" which can print "Male" for Male class and "Female" for Female class.
2230
+
2231
+
Hints:
2232
+
Use Subclass(Parentclass) to define a child class.
2233
+
2234
+
Solution:
2235
+
2236
+
class Person(object):
2237
+
def getGender( self ):
2238
+
return "Unknown"
2239
+
2240
+
class Male( Person ):
2241
+
def getGender( self ):
2242
+
return "Male"
2243
+
2244
+
class Female( Person ):
2245
+
def getGender( self ):
2246
+
return "Female"
2247
+
2248
+
aMale = Male()
2249
+
aFemale= Female()
2250
+
print aMale.getGender()
2251
+
print aFemale.getGender()
2252
+
2253
+
2254
+
2255
+
#----------------------------------------#
2256
+
Question:
2257
+
2258
+
Please write a program which count and print the numbers of each character in a string input by console.
2259
+
2260
+
Example:
2261
+
If the following string is given as input to the program:
2262
+
2263
+
abcdefgabc
2264
+
2265
+
Then, the output of the program should be:
2266
+
2267
+
a,2
2268
+
c,2
2269
+
b,2
2270
+
e,1
2271
+
d,1
2272
+
g,1
2273
+
f,1
2274
+
2275
+
Hints:
2276
+
Use dict to store key/value pairs.
2277
+
Use dict.get() method to lookup a key with default value.
2278
+
2279
+
Solution:
2280
+
2281
+
dic = {}
2282
+
s=raw_input()
2283
+
for s in s:
2284
+
dic[s] = dic.get(s,0)+1
2285
+
print '\n'.join(['%s,%s' % (k, v) for k, v in dic.items()])
2286
+
2287
+
#----------------------------------------#
2288
+
2289
+
Question:
2290
+
2291
+
Please write a program which accepts a string from console and print it in reverse order.
2292
+
2293
+
Example:
2294
+
If the following string is given as input to the program:
2295
+
2296
+
rise to vote sir
2297
+
2298
+
Then, the output of the program should be:
2299
+
2300
+
ris etov ot esir
2301
+
2302
+
Hints:
2303
+
Use list[::-1] to iterate a list in a reverse order.
2304
+
2305
+
Solution:
2306
+
2307
+
s=raw_input()
2308
+
s = s[::-1]
2309
+
print s
2044
2310
2045
2311
#----------------------------------------#
2046
2312
2313
+
Question:
2314
+
2315
+
Please write a program which accepts a string from console and print the characters that have even indexes.
2316
+
2317
+
Example:
2318
+
If the following string is given as input to the program:
2319
+
2320
+
H1e2l3l4o5w6o7r8l9d
2047
2321
2322
+
Then, the output of the program should be:
2323
+
2324
+
Helloworld
2048
2325
2326
+
Hints:
2327
+
Use list[::2] to iterate a list by step 2.
2328
+
2329
+
Solution:
2330
+
2331
+
s=raw_input()
2332
+
s = s[::2]
2333
+
print s
2049
2334
#----------------------------------------#
2050
2335
2051
2336
2337
+
Question:
2338
+
2339
+
Please write a program which prints all permutations of [1,2,3]
2340
+
2341
+
2342
+
Hints:
2343
+
Use itertools.permutations() to get permutations of list.
2344
+
2345
+
Solution:
2346
+
2347
+
import itertools
2348
+
print list(itertools.permutations([1,2,3]))
2349
+
2052
2350
#----------------------------------------#
2351
+
Question:
2352
+
2353
+
Write a program to solve a classic ancient Chinese puzzle:
2354
+
We count 35 heads and 94 legs among the chickens and rabbits in a farm. How many rabbits and how many chickens do we have?
0 commit comments