python作业

1.打印下列图形
*
***
*****
*******
*********
***********
lenth = int(input("请输入要打印的行数:"))

for i in range(1, lenth + 1) :
    print("*" * (2 * i - 1))

*
**
***
****
*****
******
lenth = int(input("请输入要打印的行数:"))
i = 1 
while i <= lenth :
    j = 1
    while j <= i :
        print("*" , end ="")
        j += 1
    print("")
    i += 1
lenth = int(input("请输入要打印的行数:"))
for i in range(1, lenth + 1) :
    space_num = lenth - i
    for j in range(space_num) :
        print(" " , end="")
    star_num = i
    for j in range(star_num) :
        print("*" , end="")
    print()

lenth = int(input("请输入要打印的行数:"))
for i in range(1,lenth + 1 ) :
    for j in range(lenth - i ) :
        print(" " , end="")
    for j in range(2 * i -1 ) :
        print("*" , end="")
    print()
lenth = int(input("请输入要打印的行数:"))
for i in range(lenth , 0 , -1) :
    for j in range(lenth - i) :
        print(" " , end="")
    for j in range(2 * i - 1) :
        print("*" , end="")
    print()

lenth = int(input("请输入要打印的行数:"))
while lenth % 2 == 0 :
    print("请输入奇数行:")

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

lenth = int(input("请输入要打印的行数:"))
while lenth % 2 == 0 :
    print("请输入奇数行:")
    break
if lenth % 2 == 1 :
    for i in range(1,lenth // 2 + 2) :
        print(" " * (lenth - 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(lenth // 2 , 0 , -1) :
        print(" " * (lenth - i) , end="")
        for j in range(2 * i - 1) :
            if j == 0 or j == 2 * i - 2 :
                print("*" , end="")
            else :
                print(" " , end="")
        print()

lenth = int(input("请输入要打印的行数:"))
while lenth % 2 == 0 :
    print("请输入奇数行:")
    break
if lenth % 2 == 1 :
    for i in range(1,lenth // 2 + 2) :
        print(" " * (lenth - i) , end="")
        for j in range(2 * i - 1) :
            if j == 0 or j == 2 * i - 2 or j == i - 1 or i == lenth // 2 + 1 :
                print("*" , end="")
            else :
                print(" " , end="")
        print()
    for i in range(lenth // 2 , 0 , -1) :
        print(" " * (lenth - 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.用户输入两个数a、b。如果a能被b整除或a加b大于1000,则输出a;否则输出b。
a = float(input("请输入第一个数a:"))
b = float(input("请输入第二个数b:"))
if a % b == 0 or a + b > 1000:
    print(a)
else:
    print(b)

3.请输入一个数,判断这个数是偶数还是奇数,如果使用偶数,请判断从1到该数是3的倍数有哪些,如果是奇数,请判断从1到该数是5的倍数有哪些
num = int(input("请输入一个数:"))
if num % 2 == 0 :
    for i in range(2,num,2) :
        if i % 3 == 0 :
            print(i)
else:
    for i in range(1,num,2) :
        if i % 5 == 0 :
            print(i)


4.某商店T恤的价格为35元/件(2件9折,3件以上8折),裤子的价格为120 元/条(2条以上9折).小明在该店买了3件T恤和2条裤子,请计算并显示小明应该付多少钱?
print("本店促销活动,T恤的价格为35元/件(2件9折,3件以上8折),裤子的价格为120 元/条(2条以上9折)")
num1 = int(input("请输入要购买衣服的数量:"))
num2 = int(input("请输入要购买裤子的数量:"))

if num1 == 1 :
    pay1 = 35
elif num1 == 2 :
    pay1 = 35 * num1 * 0.9
elif num1 >= 3 :
    pay1 = 35 * num1 * 0.8

if num2 == 1 :
    pay2 = 120
elif num2 >= 2 :
    pay2 = 120 * num2 * 0.9

pay = pay1 + pay2 

print("您购买了" , num1 , "件上衣,花费" , pay1 , "元,购买了" , num2 , "条裤子,花费" , pay2 , "元,一共应付" , pay ,"元")

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


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

count = 0
c_win = 0
my_win = 0
winwin = 0

while True :
    count += 1
    compute = random.randint(1,3)
    mycode = int(input("请输入你要出的(1.石头 2.剪刀 3.布):"))

    if compute == mycode :
        print("棋逢对手,平了")
        winwin += 1
        
    elif (compute == 1 and mycode == 2) or (compute == 2 and mycode == 3) or (compute == 3 and mycode == 1) :
        print("你输了")
        c_win += 1
        
    elif (compute == 1 and mycode == 3) or (compute == 2 and mycode == 1) or (compute == 3 and mycode == 2) :
        print("你赢了,电脑就这?🤣")
        my_win += 1
    elif mycode > 3 or mycode < 1 :
        print("请输入1~3之间的数")
       
    if count % 10 == 0 :
        print(f"你玩了{count}次,赢了{my_win}次,输了{c_win}次,平手{winwin}次")
        choise = input("是否继续游戏?若要继续请输入Y/y:")
        if choise.lower() == "y" :
            continue
        else :
            break


7.判断以下哪些不能作为标识符
A、a
B、¥a
C、_12
D、$a@12
E、false
F、False

答案:D B(不确定¥是否为特殊符号)


8.求50~150之间的质数是那些?
a = [2,3,4,5,6,7,8,9,10]
for i in range(50,151) :
    if i % 2 == 0 or i % 3 == 0 or i % 4 == 0 or i % 5 == 0 or i % 6 == 0 or i % 7 == 0 or i % 8 == 0 or i % 9 == 0 :
        continue
    else :
        print(i)
这道题暂时没做出来,代码仅展示思路

9.打印输出标准水仙花数,输出这些水仙花数
# a = 1
# b = 0
# c = 0


# while True :
#     num = a * 100 + b * 10 + c
#     if (a ** 3) + (b ** 3) + (c ** 3) == num and c <= 10 :
#         print(num)
#         c += 1
#     else :
#         c += 1
#         continue
    
#     if c == 10 :
#         b += 1
#         c = 0
    
#     elif b == 10 :
#         a += 1
#         b = 0

#     elif a == 10 :
#         break

for num in range(100,1000) :
    j = int(num / 100)
    k = int(num / 10 % 10)
    l = int(num % 10)
    if j ** 3 + k ** 3 + l ** 3 == num :
        print(num)
上方注释为开始的循环思路,但并未实现

10.验证:任意一个大于9的整数减去它的各位数字之和所得的差,一定能被9整除.
for num in range(10,999) :
    j = int(num / 100)
    k = int(num / 10 % 10)
    l = int(num % 10)
if (num - j - k - l) % 9 == 0 :
    print("true")
else :
    print("false")


11.一个五位数,若在它的后面写上一个7,得到一个六位数A,
若在它前面写上一个7,得到一个六位数B,B是A的五倍,求此
五位数.
for num in range(10000,100000) :
    numA = int(str(num) + "7")
    numB = int("7" + str(num))

    if numA * 5 == numB :
        print(f"这个数为:{num}")
        break
12.小明今年18岁了,正常来说,应该在蛋糕上,插入18跟蜡烛,但是小明不是一般人,他是程序员,他考虑到18的进制是10010,所以他在蛋糕上插入了五个蜡烛,点燃了其中两跟,问:如果用户输入年龄,请你安排插入的蜡烛数和点燃的蜡烛数
输入: n         n>=1    n <=200
输入x,y     x表示蜡烛总数量,v表示点燃的蜡烛数量
案例1
输入18
输出 5,2
案例2:
输入 8
输出4   1
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值