1,打印100以内7的倍数
for i in range(1, 101): if i % 7 ==0: print(i)
2,打印100以内的奇数
for i in range(1,101,2): print(i)
3,打印100以内所有偶数的和
老师的方法: print(sum(range(0,101,2))) 方式一: num = 1 sum = 0 while num <= 100: if num % 2 == 0: sum += num num += 1 print(sum) 方式二: sum = 0 for i in range(0, 101, 2): sum += i print(sum)
4,判断一个数是不是合数。(指自然数中除了能被1和本身整除外,还能被其他的数整除(不包括0)的数。)
老师的方法
num=int(input("请输入一个数字:"))
for i in range(2,num):
if num % i ==0:
print("合数")
break
else:
print("不是合数")
自己的方法:
num = int(input("请输入一个数:"))
i = 2
while num > i:
if num % i == 0:
print(num, "是合数")
break
i += 1
else:
print(num, "不是合数")
5,判断一个数是不是素数。(除了1和它本身以外不再有其他的除数整除。)
num = int(input("请输入一个数字:"))
t = 2
while num > t:
if num % t == 0:
print(num, "不是是素数")
break
t += 1
else:
print(num, "是素数")
6,求整数1~100的累加值,但要求跳过所有个位为3的数。
sum = 0 for i in range(1, 101): if i % 10 == 3: continue sum += i print(sum)
7, 一个新入职,月工资为2000元的员工,每年涨当年工资5%,20年后的月工资是多少?
print(2000*(1+0.05)**20)
8, 山上有一口缸可以装50升水,现在有15升水。老和尚叫小和尚下山挑水,每次可以挑5升。 问:小和尚要挑几 次水才可以把水缸挑满?通过循环解决这个问题。
sum=0 for i in range(15,50,5): sum+=1 print(sum)
9, 打印100–200之间所有能被3或者7整除的数
for i in range(100, 201): if i % 3 == 0 or i % 7 == 0: print(i)
10, 计算10的阶乘(12345678910, n的阶乘:12……*n)
import math print(math.factorical(10))
11, 计算1+3+5+...+99的和
老师的方法: print(sum(range(1,100,2))) 自己的方法: sum = 0 for i in range(1, 100, 2): sum += i print(sum)
12, 输出20~80之间能被3整除的整数, 每行5个
老师的方法 count = 0 for i in range(20, 81): if i % 3 == 0: print(i, end=" ") count += 1 if count % 5 == 0: print() print() 自己的办法 j = 0 for i in range(20, 81): if i % 3 == 0: print(i, end=" ") j = j + 1 if j == 5: print() j = 0
13, 打印1000~2000年中所有的闰年, 每行4个
老师的方法 count=0 for i in range(1000,2001): if (i % 4==0 and i % 100 !=0) or i % 400==0: print(i,end=" ") count+=1 if count % 4==0: print() print() 自己的方法 h = 0 for i in range(1000, 2001): if (i % 4 == 0 and i % 100 != 0) or i % 400 == 0: print(i, end='t') h += 1 if h == 4: print() h = 0
14, 输出99乘法表 ''' 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 '''
for i in range(1,10):
for j in range(1,i+1):
print(f"{j}*{i}={i*j}",end="t")
print()
字典题目
'''
-
声明一个字典保存一个学生的信息,学生信息中包括: 姓名、年龄、成绩(单科)、电话、性别(男、女、不明) stu_info = {'name': '张三', 'age': 18, 'score': 88, 'tel': 18866669999, 'sex': '不明'}
list1= {'name': '张三', 'age': 18, 'score': 88, 'tel': 18866669999, 'sex': '不明'}
-
声明一个列表,在列表中保存6个学生的信息(6个(题1)中的字典)
score:表示成绩 低于60分表示不及格
age: 表示年龄 小于18表示未成年
tel: 表示手机号
(1) 统计不及格学生的个数 (2) 打印不及格学生的名字和对应的成绩 (3) 统计未成年学生的个数 (4) 打印手机尾号是8的学生的名字 (5) 打印最高分和对应的学生的名字 (6) 删除性别不明的所有学生(选做) (7) 将列表按学生成绩从大到小排序(难,选做) 提示: 方式一: 排序算法 方式二: sort(key=)
(1)统计不及格学生的个数 list = [ {'name': '张三', 'age': 18, 'score': 50, 'tel': 18866669999, 'sex': '不明'} {'name': '李四', 'age': 16, 'score': 88, 'tel': 18866669998, 'sex': '女'} {'name': '张大爷', 'age': 17, 'score': 48, 'tel': 18866669999, 'sex': '男'} {'name': '陈一军', 'age': 61, 'score': 85, 'tel': 18866669998, 'sex': '男'} {'name': '陈二军', 'age': 49, 'score': 49, 'tel': 18866669999, 'sex': '女'} {'name': '陈三军', 'age': 49, 'score': 96, 'tel': 18866669999, 'sex': '不明'} ] num = 0 for i in list: if i['score'] < 60: num += 1 print(num) (2)打印不及格学生的名字和对应的成绩 for j in list: if j['score'] < 60: print(j["name"],j["score"],end=" ") (3)统计未成年学生的个数 num = 0 for k in list: if k['age'] < 18: num += 1 print(num) (4) 打印手机尾号是8的学生的名字 for g in list: if g['tel'] % 10 == 8: print(g["name"]) (5) 打印最高分和对应的学生的名字 #假设第一个学生的成绩是最高分.max_score max_score=list[0]['score'] for stu in list: if stu['score']>max_score: max_score=stu['score'] print("最高分是:",max_score) for stu in list: if stu['score']==max_score: print("最高分学生的名字是:",stu['name']) # (6) 删除性别不明的所有学生(选做) #第一种方式: i = 0 while i < len(list): if list[i]['sex'] == '不明': list.pop(i) i-=1 i+=1 print(list) # 第二种方式: list1 = [] for stu in list: if stu['sex'] != "不明": list1.append(stu) print(list1) (7) 将列表按学生成绩从大到小排序(难,选做) # 定义一个函数,返回每个学生的成绩 def pai(ele): return ele['score'] # return表示返回 list.sort(reverse=True, key=pai) # key 表示排序的依据(成绩) for stu in list: print(stu)



