Python 基础练习3

一、打印下列图案

(1)、

*
***
*****
*******
*********
***********

layer = int(input("请输入您打印的行:"))
for i in range(1,layer + 1):
    print("*" * (2 * i - 1))



(2)、
*
**
***
****
*****
******

layer = int(input("请输入您打印的行:"))
for i in range(1,layer + 1):
    print("*" * i)
layer = int(input("请输入您打印的行:"))
for i in range(1,layer + 1):
    for j in range(1,i + 1):
        print("*",end="")
    print( )


(3)、
***********
*********
*******
*****
***
*

layer = int(input("请输入您打印的行:"))
while layer>=1:
    j=1
    while j<=2*layer-1:
        print("*",end="")
        j+=1
    print()
    layer-=1


(4)、
*
***
*****
*******
*********
***********
*********
*******
*****
***
*

layer = int(input("请输入您打印的行:"))
i=1
while i < layer/2:
    j=1
    while j<=2*i-1:
        print("*",end="")
        j+=1
    print()
    i+=1
if layer//2 == layer/2:
    print("*"*(2*i-1))
while i>=1:
    j=1
    while j<=2*i-1:
        print("*",end="")
        j+=1
    print()
    i-=1



(5)、
*
* *
* *
* *
* *
* *
* *
* *
* *
* *
*

layer = int(input("请输入您打印的行:"))
i=1
while i<=layer:
    if i==1 or i==layer:
        print("*")
    else:
        print("**")
    i+=1

(6)、
*
***
* * *
* * *
* * *
***********
* * *
* * *
* * *
***
*

layer=int(input("请输入您打印的行:"))
i=1
while i<=layer:
    if i==1 or i==layer:
        print("*")
    elif i==2 or i==layer-1:
        print("***")
    elif i==layer/2 or i==layer/2+1 or i==(layer+1)/2:
        print("*"*layer)
    elif True:
        print("* * *")
    i+=1



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

a=int(input("请输入第一个数:"))
b=int(input("请输入第二个数:"))
if a % b == 0 or a + b > 1000:
    print(a)
else:
    print(b)



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

num=int(input("请输入一个整数:"))
if num % 2 == 0:
    print("%s 为偶数,从1到%s中,是3的倍数有:"%(num,num))
    i=3
    while i<=num:
        if i%3==0:
            print(i,end=",")
        i+=1
else:
    print("%s 为奇数,从1到%s中,是5的倍数有:"%(num,num))
    i=5
    while i<=num:
        if i%5==0:
            print(i,end=",")
            i+=1



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

t_shirt=35
pant=120
num1=3
num2=2
if num1 == 3 and num2 == 2:
    money1=t_shirt * num1 * 0.8
    money2=pant * num2 * 0.9
print("小明应付%s元"%(money1+money2))


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

head=int(input("请输入头的数量:"))
foot=int(input("请输入脚的数量:"))
rabbit=(foot-(head*2))/2
cheiken=head-rabbit
print("有兔子%s只,有鸡%s只"%(rabbit,cheiken))



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

import random

count = 0
my_win = 0
c_win = 0
draw = 0
while True:
    count += 1
    compute = random.randint(1,3)
    mycode = int(input("请输入一个1~3的整数数字,表示你出的拳 (1:石头;2:剪刀;3:布):"))

    if compute == mycode:
        print("点到即止,大家平手了!")
    elif (compute == 1 and mycode == 2) or (compute == 2 and mycode ==3) or (compute == 3 and mycode == 1):
        print("对不起,承让承让")
        c_win += 1
    else :
        print("呵呵,你也不过如此🤣🤣🤣")
        my_win += 1



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

答:B、D、F。

解析:标识符只能由数字、大小写字母、下划线_ 三种有效符号组成。所以排除B、D,而False是系统已经在全局定义好的变量,排除F。


八、求50~150之间的质数是那些?

n=50
print("50-150的质数有:")
while n<=150:
    j=2
    i=0
    while j<=pow(n,1/2):
        if n%j==0:
            i=1
        j+=1
    if i==0:
        print(n,end=",")
    n+=1



九、打印输出标准水仙花数,输出这些水仙花数

num=100
while num<=999:
    unit = (num%100)%10
    ten = (num%100)//10
    hundred=num//100
    if pow(unit,3)+pow(ten,3)+pow(hundred,3)==num:
        print(num)
    num+=1



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

num1=int(input("请输入一个比9大的整数:"))
if 10<=num1<=99:
    unit=num1%10
    ten=(num1-unit)/10
    num2=num1-ten-unit
    if num2%9==0:
        print("验证成功!")
    else:
        print("验证失败!")
if 100<=num1<=999:
    unit=(num1%100)
    ten=(num1%100-unit)/10
    hundred=(num1-ten*10-unit)/100
    num2=num1-hundred-ten-unit
    if num2%9==0:
        print("验证成功!")
    else:
        print("验证失败!")



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

i=10000
while i<99999:
    A=i*10+7
    B=700000+i
    if 5*A==B:
        print(i)
    i+=1

 

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值