计算

三元运算符

  1. age = 22
  2. if age >= 18:
  3. message = "yes"
  4. else:
  5. message = "no"
  6. print('常规写法')
  7. # ————————————————————————————
  8. age = 22
  9. message = "yes" if age >= 18 else "no"
  10. print('高级写法')
  11. # ————————————————————————————
  12. age = 22
  13. if age >= 18 and age < 60:
  14. print('常用写法')
  15. # ————————————————————————————
  16. age = 22
  17. if 18 <= age < 60:
  18. print('高级用法,更干净')

九九乘法表

  1. for i in range(1, 10):
  2. for j in range(1, 10):
  3. print(f"{i}*{j}={i*j:2d}", end=" ") # end=" " 表示结尾的空格,也可以是符号。
  4. print('') # 每次循环一遍就打印一次,表示换行
  5. # :2d 是将数字按宽度为2,采用右对齐方式输出,若数据位数不到2位,则左边补空格。
  6. # :02d,和 :2d差不多,只不过左边补0

计算瑞年

1、被400整除;
2、被4整除但不能被100整除

  1. year = int(input("请输入一个年份:"))
  2. if year % 400 == 0 and (year % 4 == 0 or year % 100 != 0): # 括号可以不同要
  3. print(f"数字{year}是闰年") # 格式化字符串方法一
  4. else:
  5. print("数字{}不是瑞年".format(year)) # 格式化字符串方法二

获取个十百千万上的金额数字

输入一个0-99999之间的数字,提示用户个十百千万上的数字是多少

  1. number = input("请输入0-99999之间的数字:")
  2. number = int(number)
  3. # 获取个十百千万上的数字
  4. a1 = number % 10 # 个位
  5. a10 = number // 10 % 10 # 先整除,然后取余数,后面以此类推
  6. a100 = number // 100 % 10
  7. a1000 = number // 1000 % 10
  8. a10000 = number // 10000 % 10
  9. print(
  10. f"你输入的数字{number}\n万位:{a10000}\n千位:{a1000}\n百位:{a100}\n十位:{a10}\n个位:{a1}")

剪刀石头布

random函数来制作随机数,因为汉字无法比较,所以我们给每一个方法赋给一个数字

  1. import random
  2. robot_number = random.randint(1, 3) # 机器人随机数字
  3. user_number = int(input("请输入一个值:\n 1.剪刀\n2.石头\n3.布"))
  4. print(f"电脑出的是{robot_number}")
  5. if robot_number == user_number:
  6. print("平局")
  7. else:
  8. if user_number > robot_number and not (user_number == 3 and robot_number == 1):
  9. print("你赢了!")
  10. elif user_number == 3 and robot_number == 1:
  11. print("你输了!")
  12. else:
  13. print("你失败了!")
  1. import random
  2. import string
  3. # 随机整数:
  4. print(random.randint(1,50))
  5. # 随机选取0到100间的偶数:
  6. print(random.randrange(0, 101, 2))
  7. # 随机浮点数:
  8. print(random.random()) 不填,默认0-1之间的浮点数
  9. print(random.uniform(1, 10))
  10. # 指定字符中生成一个随机字符:
  11. print(random.choice('abcdefghijklmnopqrstuvwxyz!@#$%^&*()')) # 结果 a
  12. # 指定字符中生成指定数量的随机字符:
  13. # 结果是列表 ['l', 'a', 'k', 'w', 'z']
  14. print(random.sample('zyxwvutsrqponmlkjihgfedcba',5))
  15. # 从a-z A-Z 0-9生成指定数量的随机字符(使用场景:激活码):
  16. # ascii_letters是生成所有字母(包含大小写),digits是生成所有数字0-9
  17. ran_str = ''.join(random.sample(string.ascii_letters + string.digits, 8))
  18. print(ran_str) # 结果 wVu47p0X
  19. # 打乱排序
  20. a = [1, 2, 3, 4, 5, 6, 7, 8, 9]
  21. random.shuffle(a)
  22. print(a)
  23. # 随机选取字符串:
  24. print(random.choice(['剪刀', '石头', '布']))

计算1-100的和

  1. sum = 0 # 定义一个盒子
  2. for i in range(101):#循环从0-100取值
  3. sum += i # sum=sum+i 每次都加上i直到100
  4. print(sum) # 结果5050

计算1-100的偶数之和

  1. sum = 0
  2. for i in range(101):
  3. if i % 2 == 0:
  4. sum += i
  5. print(sum) # 结果2550

提示用户输入3个数,组成一个列表

  1. list = []
  2. for i in range(3): # 从0123 不含3
  3. num = input(f"请输入第{i+1}个数:") # 输入的是字符串
  4. num = int(num) # 转化为整数,否则结果是 ['1', '2', '3']
  5. list.append(num)
  6. print(list) # 结果是 [1, 2, 3]
  7. # 将列表里的值 X 2
  8. list = [1, 2, 3]
  9. for i in range(len(list)):
  10. list[i] *= 2
  11. print(list) # 结果是[2, 4, 6] 注意:一定要在循环外打印
  12. # 计算新列表的元素之和
  13. list = [2, 4, 6]
  14. sum = 0
  15. for i in list:
  16. sum += i
  17. print(sum) # 结果 12

找到100以内能被7整数和包含7的数字,并把他们放入列表

  1. list = []
  2. for i in range(101):
  3. a = i % 10 # 个位的值
  4. b = i // 10 % 10 # 十位的值
  5. if i % 7 == 0 or (a == 7 or b == 7):
  6. list.append(i)
  7. print(list)

获取首字母并生成新的字符串

  1. list = ['boy', 'girl', 'moon']
  2. f1 = [i[0] for i in list] #这里i[0],就是取值第一个字母
  3. f2 = "".join(f1)
  4. print(f1) # ['b', 'g', 'm']
  5. print(f2) # bgm

找出两个列表里的相同的值

  1. list1 = range(10) # 0-10
  2. list2 = range(6, 10, 2) # 6 8 10
  3. result = [i for i in list1 if i in list2]
  4. print(result) #结果 6 8
  5. # result = [i for i in list2 if i in list1]# 两种写法效果一样
  6. # print(result)

100-1000的最小的水仙花数

水仙花数:每位数字的三次幂之和等于它本身 比如 407= 4+0+7

  1. list = []
  2. for i in range(100, 1000):
  3. a = i % 10 # 个位数
  4. b = i % 10//10 # 十位数
  5. c = i % 10//10 # 百位数
  6. if (a**3+b**3+c**3 == i):
  7. list.append(i)
  8. print(f"水仙花数是:{i}")
  9. print(f"最小的水仙花数是:{min(list)}")
  10. #水仙花数是:125
  11. #水仙花数是:216
  12. #水仙花数是:729
  13. #最小的水仙花数是:125