#作业1:猜数字游戏(明天做)
电脑随机一个范围内的数,用户输入数据判断,
如果数大了,提供”数大了“
成功之后,加上用户是否继续功能
代码如下:
import random
compute_random = random.randint(0, 100)
while True:
my_num = int(input(“请输入你要猜的数字:”))
if my_num == compute_random:
print(“恭喜你猜对了”)
break
elif my_num > compute_random:
print(“恭喜你猜大了”)
else:
print(“对不起,你猜小了”)
结果如下:
请输入你要猜的数字:34
对不起,你猜小了
请输入你要猜的数字:56
对不起,你猜小了
恭喜你猜大了
请输入你要猜的数字:60
恭喜你猜大了
请输入你要猜的数字:55
对不起,你猜小了
请输入你要猜的数字:56
对不起,你猜小了
请输入你要猜的数字:57
恭喜你猜对了
作业2:猜拳游戏:石头、剪刀、布的游戏
代码如下:
#作业3:
*
**
***
****
*****
******
*
***
*****
*******
*********
*********
*******
*****
***
*
*
***
*****
*******
*********
*******
*****
***
*
*
* *
* *
* *
* *
* *
* *
* *
*
*
***
* * *
* * *
*********
* * *
* * *
***
*
#作业4、判断以下哪些不能作为标识符
A、a
B、¥a
C、_12
D、$a@12
E、false
F、False
#作业5:
输入数,判断这个数是否是质数(for)
代码如下:
num = int(input(“请输入一个整数,判断该数是否是质数:”))
index = 2
flag = True
while index < (num // 2):
if num % index == 0:
# 一旦进入了if,if条件成立,意味着不肯能是质数
flag = False
# 需要立刻终循环
break
index += 1
if flag:
print(“是质数”)
else:
print(“合数”)
结果如下:
请输入一个整数,判断该数是否是质数:56
合数
作业6:求50~150之间的质数是那些?
for i in range(50,150):
flag = True
for j in range(2,i):
if i % j == 0:
flag = False
break
if flag:
print("%s是质数" %(i))
结果如下:
D:\pytnon\python.exe D:/daima/000.py
53是质数
59是质数
61是质数
67是质数
71是质数
73是质数
79是质数
83是质数
89是质数
97是质数
101是质数
103是质数
107是质数
109是质数
113是质数
127是质数
131是质数
137是质数
139是质数
149是质数
作业7:打印输出标准水仙花数,输出这些水仙花数
for i in range(100,1000):
gewei = (i%100)%10
shiwei = (i%100)//10
baiwei = i//100
if (gewei3)+(shiwei3)+(baiwei**3) == i:
print(i)
#执行代码
D:\网络安全\Python\py_code>python de.py
153
370
371
407
作业8:验证:任意一个大于9的整数减去它的各位数字之和所得的差,一定能被9整除.
num = int(input(“请输入一个大于9的整数:”))
if num < 100:
gewei = num % 10
shiwei = num // 10
if (num - (gewei + shiwei)) % 9 == 0:
print(“验证通过”)
else:
print(“验证失败”)
elif num > 99 and num < 1000:
# 三位数的
gewei = (num%100)%10
shiwei = (num%100)//10
bawei = num//100
if (num - (gewei + shiwei + bawei)) % 9 == 0:
print(“验证通过”)
else:
print(“验证失败”)
else:
pass
#代码执行
D:\网络安全\Python\py_code>python test.py
请输入一个大于9的整数:13
验证通过
#作业9:一个五位数,若在它的后面写上一个7,得到一个六位数A,
若在它前面写上一个7,得到一个六位数B,B是A的五倍,求此
五位数.
#使用range()函数来确定五位数的迭代对象
for i in range(10000,100000):
gewei = (i%10000)%1000%100%10
shiwei = (i%10000)%1000%100//10
baiwei = (i%10000)%1000//100
qianwei = (i%10000)//1000
wanwei = i//10000
#A、B的计算方式
a = 7+gewei10+shiwei100+baiwei1000+qianwei10000+wanwei100000
b = gewei+shiwei10+baiwei100+qianwei1000+wanwei10000+7100000
if b == a*5:
print(i)
#执行代码
D:\网络安全\Python\py_code>python test.py
#作业10:有一种最简真分数,它们的分子与分母的乘积都是140,把
所有这样的真分数从小到大打印出来
#首先要确认分子分母的大小范围,当然为了,省事,可以写大点,但是为了降低代码的时间、空间复杂度,建议先分析
for i in range(1,11):
for j in range(i+1,141):
if i*j == 140:
print("{}/{}".format(i,j))
#执行代码
D:\网络安全\Python\py_code>python test.py
1/140
2/70
4/35
5/28
7/20
10/14
#作业11:某数被80除所得的商,不但是7的倍数,而且用2,3,4,5,6去
除余数都是1,求这 个自然数.
flag = 0
for i in range(1,1000):
shang = 80//i
yushu = i%80
a = i%2
b = i%3
c = i%4
d = i%5
e = i%6
if shang%70 and a1 and b1 and c1 and d1 and e1:
flag += 1
print(i,end="\t")
#flag为5或10时,换行,用于输出结果易观察
if flag == 5 or flag == 10:
print()
#执行代码
D:\网络安全\Python\py_code>python de.py
121 181 241 301 361
421 481 541 601 661
721 781 841 901 961
#作业12:编程求出满足以下条件的三位数:它除以11所得的商等于它各位数字之和
for i in range(100,1000):
baiwei = i//100
gewei = (i%100)%10
shiwei = (i%100)//10
if (i//11) ==(gewei+shiwei+baiwei):
print(i)
#执行代码
D:\网络安全\Python\py_code>python test.py
108 118 128 138 148 158 168 178 188 197 198
作业13:有一堆硬币,每次只能拿一个或者两个,求最少多少次可以拿完硬币
[10, 8, 5, 3, 27, 99]
作业14:在控制台上,输入如下信息
a a^2 a^3
1 1 1
2 4 8
3 9 27
#作业15:求1~100之间不能被3整除的数之和
代码入下:
for i in range(1, 100):
flag = True
for j in range(2, i):
if i % j ==0:
flag = False
break
if flag:
print("%s是质数" %(i))
结果入下:
1是质数
2是质数
3是质数
5是质数
7是质数
11是质数
13是质数
17是质数
19是质数
23是质数
29是质数
31是质数
37是质数
41是质数
43是质数
47是质数
53是质数
59是质数
61是质数
67是质数
71是质数
73是质数
79是质数
83是质数
89是质数
97是质数
作业16:给定一个正整数N,找出1到N(含)之间所有质数的总和
代码如下:
while True:
n = input(“请输入一个正整数:”)
try:
if n == ‘B’:
print("计算结束,程序已退出")
break
elif eval(n) == 1:
print("从1到1中所有质数的和为0")
elif n.isdigit() and eval(n) != 0:
sum = 2
for i in range(2, eval(n) + 1):
for j in range(2,i):
if i % j == 0:
break
elif j == i-1:
sum = sum + i
print("从1到{}中所有质数的和为{}".format(n, sum))
elif eval(n) <= 0:
print('请输入一个正整数(输入的数小于等于0)')
else:
print("输入错误(输入的是小数)")
except NameError:
print("输入错误(输入的不是数字)")
except SyntaxError:
print("输入错误(输入的不是数字)")
结果如下:
请输入一个正整数:58
从1到58中所有质数的和为381
请输入一个正整数:
作业17:在控制台上打印九九乘法表
i = 1
while i<=9:
j = 1
while j<i+1:
print("%d*%d=%d" % (i, j, i * j), end="\t")
j+=1
i+=1
print()
结果入下:
D:\pytnon\python.exe D:/daima/11111.py
11=1
21=2 22=4
31=3 32=6 33=9
41=4 42=8 43=12 44=16
51=5 52=10 53=15 54=20 55=25
61=6 62=12 63=18 64=24 65=30 66=36
71=7 72=14 73=21 74=28 75=35 76=42 77=49
81=8 82=16 83=24 84=32 85=40 86=48 87=56 88=64
91=9 92=18 93=27 94=36 95=45 96=54 97=63 98=72 9*9=81
Process finished with exit code 0
作业18:输入一个年份,判断该年是否是闰年
代码如下:
year =eval(input(“请输入年份:”))
if(year % 40 and year % 100!=0) or year % 4000:
print(“该年份是闰年”)
else:
print(“该年不是闰年”)
结果入下:
请输入年份:1920
该年份是闰年