第1001次python入门——Day01~Day03代码练习

基础题

# 根据输入的百分制成绩打印“及格”或“不及格”
#1.input
#2.float
#3.if...else

i = float(input("请输入你的成绩:"))
if i >= 60:
    print("及格")
else:
    print("不及格")


#打印成年or不成年,超出150不是人
age = int(input('请输入你的年龄'))
if 0 <= age <= 150:
    print('是个人')
    if age < 18:
        print('而且是未成年哦')
    else:
        print('而且成年')
else:
    print('不是人哦')


# 输入两个整数,如果相减是奇数则输出,不是则输出不是奇数
num1 = int(input('请输入数字1:'))
num2 = int(input('请输入数字2:'))
if (num1 - num2) % 2 == 1 or (num2 - num1) % 2 == 1:
    print('是个奇数')
else:
    print('不是奇数')

# 用for循环输出0到100内所有的奇数
for k in range(0, 101):
    print(k)
    if k % 2 == 1:
        print(k)

# while循环输出100内的偶数
m = 0
while m <= 100:
    if m % 2 == 0:
        print(m)
    m += 1

进阶题

#使用循环计算出1到100求和结果
k = 0
for i in range(1, 101):
    k = k + i
    i += 1
print(k)

# 统计100以内个位数是2且能够被3整除的数的个数
count = 0
for i in range(0, 101):
    if i % 10 == 2 and i % 3 == 0:
        count += 1
        print(i)
print(count)


# 输入一个正整数,求它是几位数
# result = 1
# num = int(input('请输入一个整数:'))
# while num >= 10:
#     num = num // 10
#     result += 1
#     print(num)
# print('这是个', result, '位数', sep='')

# 打印所有水仙花数,三位数,个个位数平方和等于本身
for q in range(100, 1000):
    g = q % 10
    s = (q // 10) % 10
    b = (q // 100) % 10
    # print(g, s, b)
    if (b**3 + s**3+ g**3) == q:
        print(q)

# 一个程序可以不断输入内容,如果输入的内容是exit,打印程序结束后结束该程序
while True:
    shuru = input('请输入:')
    if shuru == 'exit':
        break

for…else求质数

# 素数也是质数,除了1和它本身以外,不能再被其他的任何数整除
for i in range(2, 101):
    for j in range(2, int(i ** 0.5)+1):
        if i % j == 0:
            #print(i, '是合数')
            break
    else:
        # for...else语句:当循环里的break没有被执行的时候,就会执行else
        print(i, '是质数')

假设成立法求质数

#假设成立法
for i in range(2, 101):
    flag = True  #每次假设i是个质数
    for j in range(2, int(i ** 0.5)+1):
        if i % j == 0:
            # 可除尽,说明是合数
            flag = False
            break
    if flag:   # if flag == True
        print(i, '是质数')

计数法求质数

for i in range(2, 101):
    count = 0
    for j in range(2, i):
        if i % j == 0:
            # 除尽了,是合数
            count += 1
            break
    if count == 0:
        print(i, '是一个质数')
    #else:
        #print(i, '是合数')

求菲波那切数列

# 求菲波那切数列中第n个数的值
# 1,1,2,3,5,8,13,21,34,55,89,144

num1 = 1
num2 = 1
n = int(input('第几个斐波那契数:'))
# 第3个交换1,第4交换2,第n交换n-2
for i in range(0, n-2):
    a = num1
    num1 = num2
    num2 = a + num2

print(num2)

99乘法表

j = 0
while j < 9:
    j += 1
    i = 0
    while i < j:
        i += 1
        print(j, '*', i, '=', i * j, end='\t')
    print()

for i in range(1, 10):
    for j in range(1, i+1):
        print(j, '*', i, '=', i * j, end='\t', sep='')
    print()

百马百担问题

# “百马百担”:大马驼3但,中马2旦,小马半旦。100匹马100旦,有几种马的组合
# 假设大马x个,中马y个,小马 100-x-y个
for x in range(0, 100//3+1):
    for y in range(0, 100//2+1):
        if 3 * x + 2 * y + 0.5 * (100 - x - y) == 100:
            print(x, y, (100-x-y))

珠峰问题

# 一张纸大约厚0.08mm,对折多少次能达到珠峰的高度(8848.13m)
height = 0.08/1000
count = 0
while True:
    height *= 2
    count += 1
    if height >= 8848.13:
        break
print(count)
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值