因为控制台会让不断输入,索性就把input放到注释里了。
这一片主要练习for–in循环和列表
用for-in语句实现下面的编程题目
编程题
1.求1–100之间可以被7整除的数的个数
2.计算从1到100以内所有奇数的和。
3.计算从1到100以内所有能被3或者17整除的数的和。
4.计算1到100以内能被7或者3整除但不能同时被这两者整除的数的个数。
5.计算1到500以内能被7整除但不是偶数的数的个数。
中级:
编程题
1.从键盘输入一个数n,判断是不是一个质数(质数是只能被1和它自身整除的数)
2.求1000以内的水仙花数:
水仙花数:一个三位数各个位上的立方之和,等于本身。
例如: 153 = 1(3) + 5(3)+ 3(3) = 1+125+27 = 153
3.求2〜100之内的素数。【素数 : 只能被1或本身整除的数】
4.优化猜数字游戏
计算机出一个1~100之间的随机数由人来猜
计算机根据人猜的数字分别给出提示大一点/小一点/猜对了,这个过程可以循环进行
当进行5次以上还猜不对的话,则打印:智商余额不足
5.逐一显示列表l1 = [“Sun”,“Mon”,“Tue”,“Wed”,“Thu”,“Fri”,“Sat”]中索引为奇数的元素
6.将属于列表l1 = [“Sun”,“Mon”,“Tue”,“Wed”,“Thu”,“Fri”,“Sat”],但不属于列表l2 = [“Sun”,“Mon”,“Thu”,“Fri”,“Sat”]的所有元素定义为一个新列表l3
7.已知列表namelist=[‘stu1’,‘stu2’,‘stu3’,‘stu4’,‘stu5’,‘stu6’,‘stu7’],删除列表removelist=[‘stu3’, ‘stu7’, ‘stu9’];请将属于removelist列表中的每个元素从namelist中移除(属于removelist,但不属于namelist的忽略即可);
import sys
import math
import random
"""
1.求1--100之间可以被7整除的数的个数
"""
print("初级")
print("第一题")
sum1 = 0
for a in range(1, 100):
if a % 7 == 0:
sum1 += 1
a += 1
print("可以被7整除的个数为:", sum1)
print("*******************************************")
"""
2.计算从1到100以内所有奇数的和。
"""
print("第二题")
sum2 = 0
for b in range(1, 100):
if b % 2 == 1:
sum2 += b
b += 1
print(" 1~100奇数和为:", sum2)
print("*******************************************")
"""
3.计算从1到100以内所有能被3或者17整除的数的和。
"""
print("第三题")
sum3 = 0
for c in range(1, 100):
if (c % 3 == 0) | (c % 17 == 0):
sum3 += c
c += 1
print("1~100能被3或者17整除的数的和为:", sum3)
print("*******************************************")
"""
4.计算1到100以内能被7或者3整除但不能同时被这两者整除的数的个数。
"""
print("第四题")
sum4 = 0
for d in range(1, 100):
if (d % 7 == 0) | (d % 3 == 0):
if d % 21 != 0:
sum4 += 1
d += 1
print("1~100能被7或者3整除但不能同时被这两者整除的数的个数:", sum4)
print("*******************************************")
"""
5.计算1到500以内能被7整除但不是偶数的数的个数。
"""
print("第五题")
sum5 = 0
for e in range(1, 500):
if (e % 7 == 0) & (e % 2 == 1):
sum5 += 1
e += 1
print("1~500能被7整除但不是偶数的数的个数:", sum5)
print("*******************************************")
# 中级
"""
1.从键盘输入一个数,判断是不是一个质数(质数是只能被1和它自身整除的数)
"""
print("中级")
print("第一题:")
# 这个题多敲几遍!多敲几遍!!
# f = int(input("请输入一个数,系统会自动判断这个数是否为质数:"))
f = 13
print("系统正在判断,请稍后...")
for g in range(2, f-1):
if f % g == 0:
print("抱歉,这个数不是质数!")
elif f % g != 0:
g += 1
print("恭喜,这个数是质数!")
break
print("*******************************************")
"""
2.求1000以内的水仙花数:
水仙花数:一个三位数各个位上的立方之和,等于本身。
例如: 153 = 1(3) + 5(3)+ 3(3) = 1+125+27 = 153
"""
print("第二题:")
# 水仙花我真的写吐了
for h in range(100, 1000):
i = h // 100 # 百位
j = (h - i * 100) // 10 # 十位
k = h - i * 100 - j * 10 # 个位
l = pow(i, 3) + pow(j, 3) + pow(k, 3)
if h == l:
print(h, "是水仙花数")
print("*******************************************")
"""
3.求2~100之内的素数。【素数 : 只能被1或本身整除的数】
"""
print("第三题:")
# 这两个题太麻烦了...
o = []
for m in range(2, 100):
for n in range(2, m):
if m % n == 0:
break
else:
o.append(m)
print("2~100内的素数为:\n", o)
print("*******************************************")
"""
4.优化猜数字游戏
计算机出一个1~100之间的随机数由人来猜
计算机根据人猜的数字分别给出提示大一点/小一点/猜对了,这个过程可以循环进行
当进行5次以上还猜不对的话,则打印:智商余额不足
"""
print("第四题:")
print("欢迎来到猜字游戏~")
r = 5
q = random.randint(1, 100) # 系统随机获取一个1~100的数
while r > 0: # 一共有5次输入的机会
# p = int(input("你还有"+str(r)+"次机会,\n输入一个1~100的数:"))
p = 5
if p < q:
print("******************\n再大一点~")
elif p > q:
print("******************\n再小一点~")
elif p == q:
print("******************\n恭喜你,猜对啦~")
break
r -= 1
if r == 0:
print("您的智商余额不足,请充值后再玩~")
print("*******************************************")
"""
5.逐一显示列表l1 = ["Sun","Mon","Tue","Wed","Thu","Fri","Sat"]中索引为奇数的元素
"""
print("第五题:")
l1 = ["Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat"]
for s in range(1, len(l1), 2):
print("列表l1中索引为奇数的是:", l1[s])
print("*******************************************")
"""
7.已知列表namelist=['stu1','stu2','stu3','stu4','stu5','stu6','stu7'],
删除列表removelist=['stu3', 'stu7', 'stu9'];
请将属于removelist列表中的每个元素从namelist中移除
(属于removelist,但不属于namelist的忽略即可)
"""
print("第七题:")
namelist = ['stu1', 'stu2', 'stu3', 'stu4', 'stu5', 'stu6', 'stu7']
removelist = ['stu3', 'stu7', 'stu9']
for u in removelist:
if u in namelist:
namelist.remove(u)
print("新的namelist = ", namelist)
print("*******************************************")