python WAS

基础代码练习

1 使用if循环输出小一秒的时间:

hour1 = int(input('请输入第一个数代表小时;'))
min1 = int(input('请输入第一个数代表分钟;'))
sex1 = int(input('请输入第一个数代表秒钟;'))
if (0 <= sex1 < 60) or (0 <= min1 < 60) or (0 <= hour1 < 24):
    sex1 += 1
    if sex1 == 60:
        sex1 = 0
        min1 += 1
        if min1 == 60:
            min1 = 0
            hour1 += 1
            if hour1 == 24:
                hour1 = 0
    print('下一秒时间为%.2d:%.2d:%.2d' % (hour1, min1, sex1))
else:
    print('时间输入有误')

2 打印所有的水仙花数

for num1 in range(100, 999):
    z = num1 // 100
    l = (num1 % 100) // 10
    t = num1 % 10
    if z ** 3 + l ** 3 + t ** 3 == num1:
        print(num1)

3 打印五位数的回文数,并计算个数

count = 0
for i in range(10000, 100000):
    a = str(i)
    if a[0] == a[4] and a[1] == a[3]:
        print(a)
        count += 1
print(count)

4 输入a和b,两个数字的差的不是奇数打印,如果是奇数输出两个数的差

a = int(input('请输入第一个数:'))
b = int(input('请输入第二个数:'))
if (a-b) % 2 == 1:
    print(a-b)
else:
    print('a-b结果不是奇数')

5 输出1~100以内的奇数

for x in range(1, 100):
    if x % 2 == 1:
        print(x)

6  输⼊入任意⼀一个正整数,求他是几位数?

num = int(input('请输入一个正整数:'))
x = 0
while num >= 1:
    num /= 10
    x += 1
    if num < 1:
        print('输入的数字的位数是', x)
        break

7 输出想要的斐波那契数列的数字

n = int(input('请输入您要第几个斐波那契数列:'))
num1 = 1
num2 = 1
for x in range(0, n - 2):
    a = num1
    num1 = num2
    num2 = a + num1
print(num2)

8 for循环写99乘法表

for i in range(1, 10):
    for j in range(1, i + 1):
        print('%s*%s=%s' % (i, j, i * j), end='  ')
    print()

9 while 打印 上下两种99乘法口诀表

a = 1
while a <= 9:
    b = 1
    while b <= a:
        print('%s * %s = %s ' % (b, a, a*b), end=' ')
        b += 1
    a += 1
    print('')

下99乘法表

i = 9
while i >= 1:
    j = 1
    while j <= i:
        print('%d*%d=%-2d'% (j, i, j*i), end=' ')
        j += 1
    print()
    i -= 1

10 打出 * 组成的等腰三角形

num = 1
while num <= 6:
    x = 1
    num += 1
    while x <= num:
        print("*", end="")
        x += 1
    print()

11 要将一个不知道有多少位的正整数进行反转,例如将`12345`变成`54321`

a = int(input('请输入一个数字:'))
b = len(str(a))
ret = ""
for x in range(b):
    last = a % 10
    ret = ret + chr(ord("0") + last)
    a = a // 10
print(ret)

12  百钱百鸡&百马百担

for x in range(0, 21):
    for y in range(0, 34):
        z = 100 - x - y
        if 5 * x + 3 * y + z / 3 == 100 and x + y + z == 100:
            print("公鸡:%d,母鸡:%d,小鸡:%d" % (x, y, z))

13 CRAPS&花旗骰

import random  #添加随机变量环境

money = 10000  #  初始值为一万元
while money > 0:
    # 用一个容器记录一个状态 表示是否继续
    go_on = False  # 默认两次决胜负
    # 下赌注
    while True:
        debt = int(input('请下注:'))
        if 0 < debt <= money:  # 下对注码
            break  # 停止 下注
    first = random.randint(1, 6) + random.randint(1, 6)
    print('玩家摇出了%d点' % first)
    if first == 7 or first == 11:
        print('玩家胜利')
        money += debt
        print('剩余本金%d元' % money)
    elif first == 2 or first == 3 or first == 12:
        print('庄家胜利')
        money -= debt
        print('剩余本金%d元' % money)
    else:
        go_on = True
    while go_on:
        go_on = False
        two = random.randint(1, 6) + random.randint(1, 6)
        print('玩家又摇出了%d点' % two)
        if two == 7:
            print('庄家胜')
            money -= debt
            print('剩余本金%d元' % money)
        elif two == first:
            print('玩家胜')
            money += debt
            print('剩余本金%d元' % money)
        else:
            go_on = True
print('赶紧回家,腰子要不也没了')

14  打印100以内的素数

for i in range(2, 100):
    for j in range(2, i):
        if i % j == 0:
            break
    else:
        print(i)

15 阶乘   求1!+2!+3!+4!+5!

n = int(input("输入要求的数字"))
sums = 0
for x in range(n+1):
    s1 = 1
    for y in range(1, x+1):
        s1 *= y
    sums += s1
print(sums)

16 国际象棋 宰相的麦子

# 定义一个变量来保存总的麦子数量,开始为0
nums = 0
# 定义一个变量,循环1-64,来代表每一个格子
i = 1
# 假设每个格子中的麦子数量为x,初始也是1
x = 1
# 循环
while i <= 64:
    nums += x  # 总数累计上这一个格子的麦粒数
    i += 1  # 下一个格子
    x = x * 2  # 下一个格子的麦粒数是这一个格子的2倍
# 显示结果
print("64个格子,总的麦粒数量为:", nums)

17 判断一个数字是不是回文数

num = int(input("请输入一个五位数:"))
a = num % 10
b = num // 10 % 10
c = num // 100
d = num // 1000
e = num // 10000
if a != e and b != d:
    print("该数字不是回文数")
else:
    print("是回文数")

18 不断输入一个数字直到输入为0结束

a = int(input('请输入一个数字:'))
while a != 0:
    a = int(input('请输入一个数字:'))

19 打印菱形

i = 0
a = int(input('请输入一个正奇数:'))  # 菱形只有奇数才是完全对称
while i < a:
    if i < (a+1)/2:
        j = 0
        while j < (a-1)/2 - i:
            print(" ", end="")
            j += 1
        j = 0
        while j < i+1:
            print("*", end=" ")
            j += 1
    else:
        j = 0
        while j < i - (a-1)/2:
            print(" ", end="")
            j += 1
        j = 0
        while j < a - i:
            print("*", end=" ")
            j += 1
    print()
    i += 1

20  输入两个数并求出最小公倍数和最小公约数

num1 = int(input('请输入第一个整数'))
num2 = int(input('请输入第二个整数'))
num4 = num1 if num1 < num2 else num2
for x in range(num4,0,-1):
    if num1 % x == 0 and num2 % x == 0:
        print(x)
        break
        
        
        
num1 = int(input('请输入第一个整数'))
num2 = int(input('请输入第二个整数'))
num4 = num1 if num1 > num2 else num2
# 最小公倍数  最小是两个数字中的最大值  最大是两个数字想乘
# 24 / 18 是否 ==0  不是  17
for x in range(num4, num1*num2+1):
    if x % num1 == 0 and x % num2 == 0:
        print(x)
        break

21输入两个数n,a, 输出对应的结果如: n=3,a=2; 输出 2 + 22 + 222 的值,n=4,a=3; 输出 3 + 33 + 333 + 3333的值

n = int(input('请输入数字n:'))
a = int(input('请输入数字a:'))
sums = 0
sums1 = 0
for x in range(n):
sums1 = sums1*10+a
sums += sums1
print(sums)

22输入任意两个数如果第一个数小,从第一个数打印到第二个数,如果第二个数小,从第二个数打印到第一个数比如: 输入2,5,则打印:5 4 3 2

num1 = int(input('请输入第一个数:'))
num2 = int(input('请输入第二个数:'))
c = num1 if num1 > num2 else num2
d = num1 if num1 < num2 else num2
for x in range(d, c+1):
print(x, end=' ')

23 统计100以内个位数是2并且能够被3整除的数的个数

count = 0
for x in range(1, 100):
    if x % 10 == 2 and x % 3 == 0:
        count += 1
        print(x)
print(count)

24一张纸的厚度大约是0.08mm,对折多少次之后能达到珠穆朗玛峰的高度(8848.13米)

# h = 8848.13米 =884813mm

count = 0

while a < 884813

            a *= 2

              count += 1

print(count)

25 输入密码 输错3次密码 锁住

    password = input('请输入你的密码:')
    if password == '123456':
        print('请选择接下来要进行的操作')
        break
    else:
        print('密码错误还剩%d次机会' % (2 - x))
else:
    print('账户被锁定')

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值