学习Python的第四天

今天对练习题加大了一下难度,有些题想了一半天,还得靠视频才能写出来!,还需要加油呀

第一题:统计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小时的一天

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值