python练习3

1.打印图案

row = int(input("请输入要打印的行数:"))
i = 0

for i in range(row):
    for j in range(2 * i + 1):
        print("*", end="")
    print()

row = int(input("请输入要打印的行数:"))
i = 0

for i in range(row):
    for j in range(row - i - 1):
        print(" ", end="")
    for j in range(i + 1):
        print("*", end="")
    print()

row = int(input("请输入要打印的行数:"))
i = 0

for i in range(row):
    for j in range(row - i - 1):
        print(" ", end="")
    for j in range(2 * i + 1):
        print("*", end="")
    print()

 

row = int(input("请输入要打印的行数:"))
i = 1

for i in range(row , 0 , -1):
    for j in range(row - i):
        print(" ", end="")
    for j in range(2 * i - 1):
        print("*", end="")
    print()

row = int(input("请输入要打印的行数(奇数):"))
i = 1

for i in range(1 , (row // 2 + 2)):
    for j in range(row - i):
        print(" ", end="")
    for j in range(2 * i - 1):
        print("*", end="")
    print()

for i in range(row // 2 , 0 , -1):
    for j in range(row - i):
        print(" ", end="")
    for j in range(2 * i - 1):
        print("*", end="")
    print()

row = int(input("请输入要打印的行数(奇数):"))
i = 1

for i in range(1, (row // 2 + 2)):
    for j in range(row - i):
        print(" ", end="")
    for j in range(2 * i - 1):
        if j == 0 or j == 2 * i - 2:
            print("*", end="")
        else:
            print(" ", end="")
    print()

for i in range(row // 2 , 0 , -1):
    for j in range(row - i):
        print(" ", end="")
    for j in range(2 * i - 1):
        if j == 0 or j == 2 * i - 2:
            print("*", end="")
        else:
            print(" ", end="")
    print()

row = int(input("请输入要打印的行数:"))
i = 1

for i in range(1 , (row // 2 + 2)):
    for j in range(row - i):
        print(" ", end="")
    for j in range(2 * i - 1):
        if j == 0 or j == 2 * i - 2 or j ==(2 * i - 1)// 2 or i == row // 2 + 1:
            print("*", end="")
        else:
            print(" ", end="")
    print()

for i in range(row // 2, 0 , -1):
    for j in range(row - i):
        print(" ", end="")
    for j in range(2 * i - 1):
        if j == 0 or j == 2 * i - 2 or j == (2 * i -1) // 2:
            print("*", end="")
        else:
            print(" ",end="")
    print()

2.用户输入两个数a、b。如果a能被b整除或a加b大于1000,则输出a;否则输出b。

a = float(input("输入一个数:"))
b = float(input("输入一个数:"))
if a % b == 0 or a + b > 1000:
    print("a=", a)
else:
    print("b=", b)

3.请输入一个数,判断这个数是偶数还是奇数,如果使用偶数,请判断从1到该数是3的倍数有哪些,如果是奇数,请判断从1到该数是5的倍数有哪些

num = int(input("请输入一个数:"))
if num & 1 == 0:
    i = 1
    print(f"{num}是偶数")
    while i <= num:
        if i % 3 == 0:
            print(f"{i}")
        i += 1
else:
    print(f"{num}是奇数")
    i = 1
    while i <= num:
        if i % 5 == 0:
            print(f"{i}")
        i += 1

4.某商店T恤的价格为35元/件(2件9折,3件以上8折),裤子的价格为120 元/条(2条以上9折).小明在该店买了3件T恤和2条裤子,请计算并显示小明应该付多少?

T = int(input("请输入购买T恤的件数:"))
P = int(input("请输入购买裤子的条数:"))

T_price = 35
P_price = 120

if T < 2 :
    T_total = T_price * T
elif T == 2:
    T_total = T_price * T * 0.9
elif T >= 3:
    T_total = T_price * T * 0.8
if P < 2:
    P_total = P_price * P
else:
    P_total = P_price * P * 0.9

5.鸡兔同笼,从上面看有35个头,从下面看有94只脚,请问鸡有几只,兔有几只?

num_head = int(input("请输入有多少个头:"))
num_foot = int(input("请输入有多少只脚:"))

for num_chicken in range(num_head + 1):
    num_rabbit = num_head - num_chicken

    if 2 * num_chicken + 4 * num_rabbit == num_foot:
        print(f"鸡有{num_chicken}只,兔有{num_rabbit}只")
    else:
        print("无解!!")

6.猜拳游戏:石头、剪刀、布的游戏。

mport random
list = ["石头","剪刀","布"]
computer_choice = random.choice(list)
user_choice = input("请输入你的选择:")

while user_choice not in list:
    user_choice = input("请输入(石头/剪刀/布):")
    if user_choice in list:
        break

while computer_choice == "石头":
    if user_choice == "石头":
        print("平局")
        break
    elif user_choice == "剪刀":
        print("你输了!")
        break
    else:
        print("你赢了!")
        break

while computer_choice == "剪刀":
    if user_choice == "剪刀":
        print("平局")
        break
    elif user_choice == "石头":
        print("你赢了!")
        break
    else:
        print("你输了!")
        break

while computer_choice == "布":
    if user_choice == "石头":
        print("你输了!")
        break
    elif user_choice == "剪刀":
        print("你赢了!")
        break
    else:
        print("平局")
        break

7.判断以下哪些不能作为标识符(BDEF)

A、a

B、¥a

C、_12

D、$a@12

E、false

F、False

8.求50~150之间的质数是那些?

for i in range(50,151):
    flage = True

    for j in range (2 , i // 2 + 1):
        if i % j == 0:
            flage = False
            break

    if flage == True:
        print(f"{i}是质数")

9.打印输出标准水仙花数,输出这些水仙花数。

for i in range(100, 1000):
    a = i // 100
    b = i % 100 // 10
    c = i % 10
    if a ** 3 + b ** 3 + c ** 3 == i:
        print(i)

10.验证:任意一个大于9的整数减去它的各位数字之和所得的差,一定能被9整除.

num = int(input("请输入一个大于9的整数:"))
count = 0
src_num = num

while num > 0:
    count = count + num % 10
    num = num // 10

if (src_num - count) % 9 == 0:
    print(f"{src_num}验证成功!")
else:
    print(f"{src_num}验证失败!")

11.一个五位数,若在它的后面写上一个7,得到一个六位数A,

若在它前面写上一个7,得到一个六位数B,B是A的五倍,求此

五位数.

for num in range(10000,100000):
    A = 10 * num + 7
    B = 700000 + num

    if B == 50 * num + 35:
        print(f"{num}")
        break

12.生日蜡烛问题

小明今年18岁了,正常来说,应该在蛋糕上,插入18跟蜡烛,但是小明不是一般人,他是程序员,

他考虑到18的进制是10010,所以他在蛋糕上插入了五个蜡烛,点燃了其中两跟,问:

如果用户输入年龄,请你安排插入的蜡烛数和点燃的蜡烛数。

输入:n         n>=1 n <=200

输入x, y        x表示蜡烛总数量,y表示点燃的蜡烛数量

案例1

输入 18

输出 5, 2

案例2:

输入 8

输出 4,1

	age = int(input("请输入年龄:"))
	bin_age = bin(age)[2:]

	num_candles = len(bin_age)
	num_lit_candles = bin_age.count('1')

	print(f"插入的蜡烛:{num_candles}")
	print(f"点燃的蜡烛:{num_lit_candles}")

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值