1. """ Write a program which can compute the factorial of a given numbers. The results should be printed in a comma-separated sequence on a single line. Suppose the following input is supplied to the program: 8 Then, the output should be: 40320 """ num = int(input('请输入需要计算的数:')) def fact(num): if num == 0: return 1 return num * fact(num-1) print(fact(num)) 2. """ With a given integral number n, write a program to generate a dictionary that contains (i, i*i) such that is an integral number between 1 and n (both included). and then the program should print the dictionary. Suppose the following input is supplied to the program: 8 Then, the output should be: {1: 1, 2: 4, 3: 9, 4: 16, 5: 25, 6: 36, 7: 49, 8: 64} """ num = int(input('请输入')) d = {} for i in range(1,num+1): d.update({i:i*i}) print(d) 3. """ Write a program which accepts a sequence of comma-separated numbers from console and generate a list and a tuple which contains every number. Suppose the following input is supplied to the program: 34,67,55,33,12,98 Then, the output should be: ['34', '67', '55', '33', '12', '98'] ('34', '67', '55', '33', '12', '98') """def spl(word): li = [] for i in word.split(','): li.append(i) print() tup = '('+str(li)[1:-1]+')' return print(li,' ',tup) word = input("") spl(word) 4. """ Write a program that calculates and prints the value according to the given formula: Q = Square root of [(2 * C * D)/H] Following are the fixed values of C and H: C is 50. H is 30. D is the variable whose values should be input to your program in a comma-separated sequence. Example Let us assume the following comma separated input sequence is given to the program: 100,150,180 The output of the program should be: 18,22,24 """ import math def fun(D): C = 50 H = 30 li = [] for d in D.split(','): Q = int(math.sqrt((2 * C * int(d)) / H)) li.append(Q) return print(str(li)[1:-1]) D = input() fun(D) 5. """ Write a program which takes 2 digits, X,Y as input and generates a 2-dimensional array. The element value in the i-th row and j-th column of the array should be i*j. Note: i=0,1.., X-1; j=0,1,¡Y-1. Example Suppose the following inputs are given to the program: 3,5 Then, the output of the program should be: [[0, 0, 0, 0, 0], [0, 1, 2, 3, 4], [0, 2, 4, 6, 8]] """ def array(x,y): li = [] for i in range(x): li.append([]) for j in range(y): li[i].append(0) li[i][j] = i*j return print(li) array(3,5) 6. """ Write a program that accepts a comma separated sequence of words as input and prints the words in a comma-separated sequence after sorting them alphabetically. Suppose the following input is supplied to the program: without,hello,bag,world Then, the output should be: bag,hello,without,world """ def fun(word): li = [w for w in (word.split(','))] li.sort() # new = sorted(li,key=lambda i:i[0]) return print(','.join(li)) fun('without,hello,bag,world') 7. """ Write a program that accepts sequence of lines as input and prints the lines after making all characters in the sentence capitalized. Suppose the following input is supplied to the program: Hello world Practice makes perfect Then, the output should be: HELLO WORLD PRACTICE MAKES PERFECT """ def fun(): li = [] while True: s = input() if s: li.append(s.upper()) continue else: for i in li: print(i) break fun() 8. """ Write a program which accepts a sequence of comma separated 4 digit binary numbers as its input and then check whether they are divisible by 5 or not. The numbers that are divisible by 5 are to be printed in a comma separated sequence. Example: 0100,0011,1010,1001 Then the output should be: 1010 Notes: Assume the data is input by console. """ def fun(word): li = [] for i in word.split(','): if int(i,base=2)%5==0: li.append(i) return print(','.join(li)) fun('0100,0011,1010,1001') 9. """ Write a program, which will find all such numbers between 1000 and 3000 (both included) such that each digit of the number is an even number. The numbers obtained should be printed in a comma-separated sequence on a single line. """ def fun(): li = [] flag = 0 for i in range(1000,3000): for j in list(str(i)): if int(j)%2 == 0: flag += 1 if flag == 4: li.append(i) flag = 0 else: flag = 0 return print(li) fun() 10. "Write a program that accepts a sentence and calculate the number of letters and digits. Suppose the following input is supplied to the program: hello world! 123 Then, the output should be: LETTERS 10 DIGITS 3"" """ import re def fun(word): alp = re.findall('[a-z,A-Z]',word) num = re.findall('[0-9]',word) return print('字母{} 数字{}'.format(len(alp),len(num))) fun('hello world! 123')