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

 

posted @ 2019-01-31 14:55  暖阳深处  阅读(257)  评论(0编辑  收藏  举报