Python30个基础题(二)
11、打印九九乘法表
for i in range(1, 10): for j in range(1, i+1): # print('{} * {} = {} \t'.format(j, i, i*j), end='') print('%d * %d = %d \t'%(j, i, i*j), end='') print() 输出结果: 1 * 1 = 1 1 * 2 = 2 2 * 2 = 4 1 * 3 = 3 2 * 3 = 6 3 * 3 = 9 1 * 4 = 4 2 * 4 = 8 3 * 4 = 12 4 * 4 = 16 1 * 5 = 5 2 * 5 = 10 3 * 5 = 15 4 * 5 = 20 5 * 5 = 25 1 * 6 = 6 2 * 6 = 12 3 * 6 = 18 4 * 6 = 24 5 * 6 = 30 6 * 6 = 36 1 * 7 = 7 2 * 7 = 14 3 * 7 = 21 4 * 7 = 28 5 * 7 = 35 6 * 7 = 42 7 * 7 = 49 1 * 8 = 8 2 * 8 = 16 3 * 8 = 24 4 * 8 = 32 5 * 8 = 40 6 * 8 = 48 7 * 8 = 56 8 * 8 = 64 1 * 9 = 9 2 * 9 = 18 3 * 9 = 27 4 * 9 = 36 5 * 9 = 45 6 * 9 = 54 7 * 9 = 63 8 * 9 = 72 9 * 9 = 81
通过指定end参数的值,可以取消在末尾输出回车符,实现不换行。
12、替换列表中所有的3为3a
num = ['har', "lam", 3, 34, 45, 3, 3, 22, 33, 44] print(num.count(3)) print(num.index(3)) for i in range(num.count(3)): # 获取3出现的次数 ele_index = num.index(3) # 获取首次3出现的坐标 num[ele_index] = '3a' # 修改3为3a print(num) 输出结果: 3 2 ['har', 'lam', '3a', 34, 45, 3, 3, 22, 33, 44] ['har', 'lam', '3a', 34, 45, '3a', 3, 22, 33, 44] ['har', 'lam', '3a', 34, 45, '3a', '3a', 22, 33, 44]
13、打印每个名字
l = ["张三", "Meng", "刘sir"] for i in range(len(l)): print("Hello,%s" % l[i]) 输出结果: Hello,张三 Hello,Meng Hello,刘sir
14、合并去重
list1 = [2, 3, 4, 5, 6, 7, 8, 9] list2 = [1, 2, 3, 8, 9, 10, 11] list3 = list1 + list2 print(list3) # 不去重至进行两个列表的组合 print(set(list3)) # 去重 print(list(set(list3))) # 转换成list 输出结果: [2, 3, 4, 5, 6, 7, 8, 9, 1, 2, 3, 8, 9, 10, 11] {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11} [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11]
15、随机生成验证码的两种方式
import random list1 = [] for i in range(65, 91): list1.append(chr(i)) # 通过for循环遍历asii追加到空列表中 for j in range(97, 123): list1.append(chr(j)) for k in range(48, 58): list1.append(chr(k)) ma = random.sample(list1, 6) print(ma) # 获取到的为列表 ma = ''.join(ma) # 将列表转换为字符串 print(ma) 输出结果: ['Y', 'i', 'W', 'M', '7', 'B'] YiWM7B
# 猜数字游戏
import random i = 1 a = random.randint(0, 100) b = int(input("请输入0-100中的一个数字\n然后查看是否与电脑一样:")) while a != b: if a > b: print("你第%d次输入的数字小于电脑随机数字" % i) b = int(input("请再次输入数字:")) else: print("你第%d次输入的数字大于电脑随机数字" % i) b = int(input("请再次输入数字:")) i += 1 else: print("恭喜你,你第%d次输入的数字与电脑的随机数字%d一样" % (i, b)) 输出结果: 请输入0 - 100 中的一个数字 然后查看是否与电脑一样:11 你第1次输入的数字小于电脑随机数字 请再次输入数字:33 你第2次输入的数字小于电脑随机数字 请再次输入数字:66 你第3次输入的数字小于电脑随机数字 请再次输入数字:88 你第4次输入的数字小于电脑随机数字 请再次输入数字:99 你第5次输入的数字大于电脑随机数字 请再次输入数字:90 你第6次输入的数字大于电脑随机数字 请再次输入数字:89 恭喜你,你第7次输入的数字与电脑的随机数字89一样
16、计算平方根
num = float(input("请输入一个数字:")) num_sqrt = num ** 0.5 print("%0.2f 的平方根为 %0.2f" % (num, num_sqrt)) 输出结果: 请输入一个数字:10 10.00 的平方根为 3.16
17、判断字符串是否只由数字组成
def is_number(s): try: float(s) return True except ValueError: pass try: import unicodedata unicodedata.numeric(s) return True except (TypeError, ValueError): pass return False print(is_number("asfs123")) print(is_number("123")) print(chri.isdigit()) # 检查字符串是否只由数字组成 print(chri.isnumeric()) # 检查字符串是否只有数字组成,这种方法是只针对unicode对象 输出结果: False True
18、判断奇偶数
num = int(input("输入一个数字:")) if (num % 2) == 0: print("{0} 是偶数".format(num)) else: print("{0} 是奇数".format(num)) while True: try: num = int(input("输入一个数字:")) except ValueError: print("输入的不是整数!") continue if num % 2 == 0: print("偶数") else: print("奇数") break 输出结果: 输入一个数字:5 5 是奇数 输入一个数字:1.2 输入的不是整数! 输入一个数字:6 偶数
19、判断闰年
# 方法一 year = int(input("输入一个年份:")) if (year % 4) == 0: if (year % 100) == 0: if (year % 400) == 0: print("{0}是闰年".format(year)) # 整百年能被400整除的是闰年 else: print("{0}不是闰年".format(year)) else: print("{0}是闰年".format(year)) # 非整百年能被4整除的为闰年 else: print("{0}不是闰年".format(year)) # 方法二 year = int(input("输入一个年份:")) if (year % 4) == 0 and (year % 100) !=0 or (year % 400) ==0: print("{0}是闰年".format(year)) else: print("{0}不是闰年".format(year)) # 方法三 import calendar year = int(input("输入一个年份:")) check_year = calendar.isleap(year) if check_year == True: print("%d是闰年" % year) else: print("%d不是闰年" % year) 输出结果: 输入一个年份:2019 2019不是闰年 输入一个年份:2020 2020是闰年 输入一个年份:2021 2021不是闰年
20、获取最大值
# 方法一 n = int(input("输出需要对比大小数字的个数:")) print("请输出需要对比的数字:") num = [] for i in range(1, n+1): temp = int(input("输入第%d个数字:" % i)) num.append(temp) print("您输入的数字为:", num) print("最大值为:", max(num)) # 方法二 n = int(input("输出需要对比大小数字的个数:\n")) num = [int(input("请输入第%d个对比数字:\n" % i)) for i in range(1, n+1)] print("您输入的数字为:", num) print("最大值为:", max(num)) 输出结果: 输出需要对比大小数字的个数: 2 请输入第1个对比数字: 23 请输入第2个对比数字: 22 您输入的数字为: [23, 22] 最大值为: 23