今天对练习题加大了一下难度,有些题想了一半天,还得靠视频才能写出来!,还需要加油呀
第一题:统计100以内个位数是2并且能够被三整除的个数
count = 0
i = 0
for i in range(1, 101):
if i % 10 == 2 and i % 3 == 0:
count +=1
print(count)
执行结果为:
3
第二题:输入一个正整数,求它是几位数
while True:
num = int(input("请输入一个正整数:"))
if num > 0:
break
print("请输入正整数!!")
count = 0
while True:
count += 1
num //= 10
if num == 0:
break
print(count)
执行结果为:
请输入一个正整数:123456789
9
第三题:打印所有的水仙花数
for i in range(100, 1000):
ge = i % 10
sw = i // 10 % 10
bw = i // 100
num = ge ** 3 + sw ** 3 + bw ** 3
if num == i:
print("水仙花数有:", num)
执行结果为:
水仙花数有: 153
水仙花数有: 370
水仙花数有: 371
水仙花数有: 407
第四题:写一个程序可以不断的输入数字,如果输入的数字是0,打印程序结束后结束该程序
while True:
try:
num = int(input("请输入一个数字:"))
if num == 0:
print("程序结束")
break
except:
print("请输入数字!!!")
执行结果为:
请输入一个数字:87
请输入一个数字:0
程序结束
第五题:统计101~200中素数的各数,并且输出所有的素数。(素数又叫质素,就是只能被1和它本身整除的数)
for i in range(101, 201):
for j in range(2, int((i**0.5)+1)):
if i % j == 0:
break
else:
print("素数:", i)
执行结果为:
素数: 101
素数: 103
素数: 107
素数: 109
素数: 113
素数: 127
素数: 131
素数: 137
素数: 139
素数: 149
素数: 151
素数: 157
素数: 163
素数: 167
素数: 173
素数: 179
素数: 181
素数: 191
素数: 193
素数: 197
素数: 199
第六题:假设成立法求质数:
for i in range(2, 101):
flag = True
for j in range(2, i):
if i % j == 0:
flag = False
break
if flag:
print("素数:", i)
执行结果为:素数,结果太长就不打印了
第七题:计数法求质数:
for i in range(2, 101):
count = 0;
for j in range(2, i):
if i % j == 0:
count += 1
if count == 0:
print(i, "是个质数")
else:
print(i, "是个合数", "它可以被", count, "个数整除")
执行结果为:
太长了,就省略了
第八题:求斐波那契数列的第n个数的值,n是正整数
例如从(1,1,2,3,5,8,13,21,34)开始的数
n = int(input("请输入你要的第几个斐波那契数列的值:"))
num1 = 1
num2 = 1
for i in range(0, n-2):
a = num1
num1 = num2
num2 = a + num2
print(num2)
执行结果为:
请输入你要的第几个斐波那契数列的值:7
13
第九题: "百马百担"的问题:一匹大马能驮3担货,一匹中马能驮2担货,两匹小马能驮1担货, 如果用一百匹马驮一百担货,问有大、中、小、马各几匹?(大马我设置的i,中马设置的j)
for i in range(0, 100 // 3 + 1):
for j in range(0, 100 // 2 +1):
if (i * 3 + j * 2 + (100 - i - j) * 0.5) == 100:
print(i, j, (100 - i - j))
执行结果为:
2 30 68
5 25 70
8 20 72
11 15 74
14 10 76
17 5 78
20 0 80
第十题:一张纸的厚度大约是0.08mm,对折多少次后能达到珠穆朗玛峰峰的高度(8848.13米)
js = 0
a = 0.08
b = 8848.13 * 1000
while True:
js += 1
a *= 2
if a >= b:
print("对折了", js, "次")
break
执行结果为:
对折了 27 次
这是今天做得所有题了,上面所有的题都没有对代码进行分析,我想等以后过来添加正好也对自己加深一定的映像,今天又是学习Python5小时的一天
|