python练习二

1.打印课堂上图案

layer = int(input())
index = 1
while index <= layer:
    j = 1
    while j <= index:
        print("*", end="")
        j += 1
    print()
    index += 1

layer = int(input())
# for i in range(layer):
for i in range(1, layer + 1):
    for j in range(1, 2 * i):
        print("*", end="")
    print()

layer = int(input())
for i in range(1, layer + 1):
    # 先打印空格
    # 空格数 = 总行数 - 当前函数(从1开始)
    for j in range(layer - i):
        print(" ", end="")
    for j in range(i):
        print("*", end="")
    print()

#方法二:
# for i in range(layer):
#     print(" " * (layer - i - 1), end="")
#     print("*" * (i + 1))

layer = int(input())
for i in range(1, layer + 1):
    # 空格数 = 总行数 - 当前函数(从1开始)
    for j in range(layer - i):
        print(" ", end="")
    for j in range(2 * i - 1):
        print("*", end="")
    print()
#方法二:
# for i in range(1, layer + 1):
#     print(" " * (layer - i), end="")
#     print("*" * (2 * i - 1))

layer = int(input())
for i in range(layer, 0, -1):
    print(" " * (layer - i), end="")
    print("*" * (2 * i - 1))

layer = int(input())
# 判断输入数据是否有误
while layer % 2 == 0:
    layer = int(input("对不起,请输入奇数行:"))
# 上半部分
for i in range(1, layer // 2 + 2):
    print(" " * (layer - i), end="")
    print("*" * (2 * i - 1))
# 下半部分
for i in range(layer // 2, 0, -1):
    print(" " * (layer - i), end="")
    print("*" * (2 * i - 1))

layer = int(input())
# 上半部分
for i in range(1, layer // 2 + 2):
    print(" " * (layer - i), 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(layer // 2, 0, -1):
    print(" " * (layer - i), end="")
    for j in range(2 * i - 1):
        # 判断第一个、最后一个
        if j == 0 or j == 2 * i - 2:
            print("*", end="")
        else:
           print(" ", end="")
    print()

layer = int(input())
for i in range(1, layer // 2 + 2):
    print(" " * (layer - i), end="")
    for j in range(2 * i - 1):
        # 判断第一个、最后一个
        if j == 0 or j == 2 * i - 2 or i == layer // 2 + 1 or j == i - 1:
            print("*", end="")
        else:
           print(" ", end="")
    print()
# 下半部分
for i in range(layer // 2, 0, -1):
    print(" " * (layer - i), end="")
    for j in range(2 * i - 1):
        # 判断第一个、最后一个
        if j == 0 or j == 2 * i - 2 or j == i - 1:
            print("*", end="")
        else:
           print(" ", end="")
    print()

2.判断一个数是否是质数(素数)

prime = int(input())
flag = True
# 质数就是:只能被1和它本身整除
for i in range(2, prime // 2 + 1):
    if prime % i == 0:
        flag = False
        break
if flag:
    print("是质数")
else:
    print("不是")

3.设计一个程序,完成(英雄)商品的购买(界面就是第一天打印的界面) 展示商品信息(折扣)->输入商品价格->输入购买数量->提示付款 输入付款金额->打印购买小票(扩展)

print("\n\t\t英雄商城购买英雄")
print("英雄信息")
print("~ *" * 14)
print("\n")
print("\t英雄联盟:盲僧(史诗)")
print("\t英雄属性:生命值(428)/能量值200(+0)/移动速度425/攻击力/55.8(+3.2)")
print("\t\t攻击速度0.651(+3.1%)/护甲值24(+1.25)/攻击距离125\n")
print("\t英雄座右铭:一人之行可灭世,众人之勤可救世!")
print("\t英雄价格:3000")
print("\t折扣价格:9.5\n")
print("插播广告:当风云变色,当流离失所,世界不再是旧日模样")
print("你是否会为了自己的梦想战斗,直至力战身亡,直至彼岸他乡 ")
print("~ *" * 14)
a = int(input("请输入商品价格:"))
b = int(input("请输入购买数量:"))
c = int(input("(温馨提示)请付款:"))
m = a * b * 0.95
n = c - m
while n < 0:
    print("您的金额不够")
    break
else:
    print("购买成功")
    print("\n\t\t英雄商城购买英雄")
    print("英雄购买票据")
    print("~ *" * 14)
    print("\n")
    print("\t英雄联盟:盲僧(史诗)")
    print("\t英雄价格:3000")
    print("\t折扣价格:9.5\n")
    print("\t购买数量:{}".format(b))
    print("\t应付付款:{}".format(m))
    print("\t实际付款:{}".format(c))
    print("\t找零:{}".format(n))
    print("插播广告:当风云变色,当流离失所,世界不再是旧日模样")
    print("你是否会为了自己的梦想战斗,直至力战身亡,直至彼岸他乡 ")
    print("~ *" * 14)
    input("(温馨提示)按任意键返回上一级菜单:")

4.有一些四位数,百位数字都是3,十位数字都是6,并且它们既能被2整除,又能被3整除,求这样的四位数中最大的和最小的两数各是几?

num=range(1000,10000)
l=[]
for i in num :
    if int(i/100)%10==3 and int(i/10)%10==6:#筛选百位数字都是3,十位数字都是6
        if i%3==0 and i%2==0:#能被2整除,又能被3整除
            while i!=0:
                l.append(i)
                print(max(l))
                print(min(l))
                break

5.编程求一个四位自然数ABCD,它乘以A后变成DCBA

num = range(1000, 10000)
for i in num:
    A = int(i / 1000) % 10
    B = int(i / 100) % 10
    C = int(i / 10) % 10
    D = i % 10
    num1 = D * 1000 + C * 100 + B * 10 + A
    if i * A == num1:
        print(i)

6.用户输入两个数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)
else:
    print(b)

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

a = int(input("请输入一个数:"))
if a % 2 == 0:
    print(f"{a}为偶数,从1到{a}是3倍数有:")
    for i in range(1, a + 1):
        if i % 3 == 0:
            print(i)
else:
    print(f"{a}为奇数,从1到{a}是5倍数有:")
    for i in range(1, a + 1):
        if i % 5 == 0:
            print(i)

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

a = 35
b = 120
c = int(input("请输入买几件T恤:"))
d = int(input("请输入买几件裤子:"))
if c == 2:
    a = a * 0.9
if c >= 3:
    a = a * 0.8
if d >= 2:
    b = b * 0.9
print(f"小明应该付{c * a + d * b}元")

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

for a in range(0,36):
    b = 35 - a
    if a * 2 + b * 4 == 94:
        print(f"鸡有{a}只,兔子有{b}只")

10.猜数字游戏(使用random模块完成) 电脑随机一个范围内的数,用户输入数据判断, 如果数大了,提供”数大了“ 成功之后,加上用户是否继续功能

import random as r
compute = r.randint(0, 100)
while True:
    my = int(input("请输入一个0~100的整数:"))
    if my > compute:
        print("对不起,您猜大了")
    elif my < compute:
        print("对不起,您猜小了")
    else:
        print("恭喜您,猜对了")
        choice = input("请是否继续猜(Y/y),其他任意符号退出:")
        if choice == "Y" or choice == "y":
            compute = r.randint(0, 100)
        else:
            print("欢迎下次再来")
            break

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

import random
print("游戏说明:1代表石头,2代表剪刀,3代表布,0结束游戏")
a = int(input("请输入你的结果:"))
d1 = {1: "石头", 2: "剪刀", 3: "布"}
b = random.randint(1, 3)
while a:
    if a > 3 or a < 0:
        print("输入错误,请重新输入:")
        a = int(input())
    else:
        if a == b:
            print("你出了:", d1[a], "系统出了:", d1[b], "平局!")
            a = int(input("请输入你的结果:"))
            b = random.randint(1, 3)
        else:
            if (a == 1 and b == 2) or (a == 2 and b == 3) or (a == 3 and b == 1):
                print("你出了:", d1[a], "系统出了:", d1[b], "赢了!")
                a = int(input("请输入你的结果:"))
                b = random.randint(1, 3)
            else:
                print("你出了:", d1[a], "系统出了:", d1[b], "输了!")
                a = int(input("请输入你的结果:"))
                b = random.randint(1, 3)
print("游戏结束!")

相关推荐

  1. Python基础练习

    2024-03-23 05:26:03       29 阅读
  2. python面向对象练习

    2024-03-23 05:26:03       43 阅读
  3. 算法练习Day17 (Leetcode/Python-叉树)

    2024-03-23 05:26:03       72 阅读
  4. 算法练习Day18 (Leetcode/Python-叉树)

    2024-03-23 05:26:03       63 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-03-23 05:26:03       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-03-23 05:26:03       101 阅读
  3. 在Django里面运行非项目文件

    2024-03-23 05:26:03       82 阅读
  4. Python语言-面向对象

    2024-03-23 05:26:03       91 阅读

热门阅读

  1. EasyExcel

    2024-03-23 05:26:03       43 阅读
  2. 把json文件转换成excel格式文件

    2024-03-23 05:26:03       40 阅读
  3. python与excel第五节 打印excel

    2024-03-23 05:26:03       37 阅读
  4. 在realsense D455相机上运行orb_slam3

    2024-03-23 05:26:03       41 阅读
  5. OpenCV自带颜色表

    2024-03-23 05:26:03       41 阅读
  6. cordova cordova-hot-code-push-plugin 插件热更新

    2024-03-23 05:26:03       36 阅读