计算
三元运算符
age = 22if age >= 18:message = "yes"else:message = "no"print('常规写法')# ————————————————————————————age = 22message = "yes" if age >= 18 else "no"print('高级写法')# ————————————————————————————age = 22if age >= 18 and age < 60:print('常用写法')# ————————————————————————————age = 22if 18 <= age < 60:print('高级用法,更干净')
九九乘法表
for i in range(1, 10):for j in range(1, 10):print(f"{i}*{j}={i*j:2d}", end=" ") # end=" " 表示结尾的空格,也可以是符号。print('') # 每次循环一遍就打印一次,表示换行# :2d 是将数字按宽度为2,采用右对齐方式输出,若数据位数不到2位,则左边补空格。# :02d,和 :2d差不多,只不过左边补0
计算瑞年
1、被400整除;
2、被4整除但不能被100整除
year = int(input("请输入一个年份:"))if year % 400 == 0 and (year % 4 == 0 or year % 100 != 0): # 括号可以不同要print(f"数字{year}是闰年") # 格式化字符串方法一else:print("数字{}不是瑞年".format(year)) # 格式化字符串方法二
获取个十百千万上的金额数字
输入一个0-99999之间的数字,提示用户个十百千万上的数字是多少
number = input("请输入0-99999之间的数字:")number = int(number)# 获取个十百千万上的数字a1 = number % 10 # 个位a10 = number // 10 % 10 # 先整除,然后取余数,后面以此类推a100 = number // 100 % 10a1000 = number // 1000 % 10a10000 = number // 10000 % 10print(f"你输入的数字{number}\n万位:{a10000}\n千位:{a1000}\n百位:{a100}\n十位:{a10}\n个位:{a1}")
剪刀石头布
random函数来制作随机数,因为汉字无法比较,所以我们给每一个方法赋给一个数字
import randomrobot_number = random.randint(1, 3) # 机器人随机数字user_number = int(input("请输入一个值:\n 1.剪刀\n2.石头\n3.布"))print(f"电脑出的是{robot_number}")if robot_number == user_number:print("平局")else:if user_number > robot_number and not (user_number == 3 and robot_number == 1):print("你赢了!")elif user_number == 3 and robot_number == 1:print("你输了!")else:print("你失败了!")
import randomimport string# 随机整数:print(random.randint(1,50))# 随机选取0到100间的偶数:print(random.randrange(0, 101, 2))# 随机浮点数:print(random.random()) 不填,默认0-1之间的浮点数print(random.uniform(1, 10))# 指定字符中生成一个随机字符:print(random.choice('abcdefghijklmnopqrstuvwxyz!@#$%^&*()')) # 结果 a# 指定字符中生成指定数量的随机字符:# 结果是列表 ['l', 'a', 'k', 'w', 'z']print(random.sample('zyxwvutsrqponmlkjihgfedcba',5))# 从a-z A-Z 0-9生成指定数量的随机字符(使用场景:激活码):# ascii_letters是生成所有字母(包含大小写),digits是生成所有数字0-9ran_str = ''.join(random.sample(string.ascii_letters + string.digits, 8))print(ran_str) # 结果 wVu47p0X# 打乱排序a = [1, 2, 3, 4, 5, 6, 7, 8, 9]random.shuffle(a)print(a)# 随机选取字符串:print(random.choice(['剪刀', '石头', '布']))
计算1-100的和
sum = 0 # 定义一个盒子for i in range(101):#循环从0-100取值sum += i # sum=sum+i 每次都加上i直到100print(sum) # 结果5050
计算1-100的偶数之和
sum = 0for i in range(101):if i % 2 == 0:sum += iprint(sum) # 结果2550
提示用户输入3个数,组成一个列表
list = []for i in range(3): # 从0123 不含3num = input(f"请输入第{i+1}个数:") # 输入的是字符串num = int(num) # 转化为整数,否则结果是 ['1', '2', '3']list.append(num)print(list) # 结果是 [1, 2, 3]# 将列表里的值 X 2list = [1, 2, 3]for i in range(len(list)):list[i] *= 2print(list) # 结果是[2, 4, 6] 注意:一定要在循环外打印# 计算新列表的元素之和list = [2, 4, 6]sum = 0for i in list:sum += iprint(sum) # 结果 12
找到100以内能被7整数和包含7的数字,并把他们放入列表
list = []for i in range(101):a = i % 10 # 个位的值b = i // 10 % 10 # 十位的值if i % 7 == 0 or (a == 7 or b == 7):list.append(i)print(list)
获取首字母并生成新的字符串
list = ['boy', 'girl', 'moon']f1 = [i[0] for i in list] #这里i[0],就是取值第一个字母f2 = "".join(f1)print(f1) # ['b', 'g', 'm']print(f2) # bgm
找出两个列表里的相同的值
list1 = range(10) # 0-10list2 = range(6, 10, 2) # 6 8 10result = [i for i in list1 if i in list2]print(result) #结果 6 8# result = [i for i in list2 if i in list1]# 两种写法效果一样# print(result)
100-1000的最小的水仙花数
水仙花数:每位数字的三次幂之和等于它本身 比如 407= 4+0+7
list = []for i in range(100, 1000):a = i % 10 # 个位数b = i % 10//10 # 十位数c = i % 10//10 # 百位数if (a**3+b**3+c**3 == i):list.append(i)print(f"水仙花数是:{i}")print(f"最小的水仙花数是:{min(list)}")#水仙花数是:125#水仙花数是:216#水仙花数是:729#最小的水仙花数是:125
