python基础练习题2(9题)

"""
1.x 为 0-99 取一个数,y 为 0-199
取一个数,如果 x>y 则输出 x,如果 x 等于 y 则输出 x+y,否则输出y.
"""
import random
x=random.randint(0,99)
y=random.randint(0,199)
print(f"X={x}",f"Y={y}",sep=",")
if x>y:
    print("X>Y",x)
elif x<y:
    print("X<Y",y)
else:
    print("X=Y",x+y)

"""
2.输出9行内容,,第1行输出1,第2行输出12,第3行输出123,以此类推,第9行输出123456789
"""
Int=int(input("请输入您想打印的行数:"))
for i in range(Int):
    print()
    for j in range(i+1):
        print(j+1,end="")
        pass
print()

"""
3.计算从1到1000以内所有奇数的和并输出
"""
Sum=0
Count=0
for i in range(1,1001):
    if i%2==1:
        print(i)
        Sum+=i
        Count+=1
    else:
        pass
print(f"共有:{Count}个!")
"""
4.求1--100之间可以被7整除的数的个数
"""
Count = 0
for i in range(1,100):
    if i % 7 == 0:
       Count += 1
       print(i)
    else:
        pass
print("1-100之间有{Count}个数能被7整除")
"""
5.计算1到100以内能被7或者3整除但不能同时被这两者整除的数的个数。
"""
Count = 0
for i in range(1,100):
    if (i % 7 == 0 or i % 3 == 0) and i % 21 != 0:
       Count += 1
       print(i)
    else:
        pass
print("1-100之间有%d个数能被7和3整除,但不能被两者同时整除的个数。"%Count)
"""
6.3000米长的绳子,每天减一半。问多少天这个绳子会小于5米?不考虑小数
"""
V=3000
sum=0
while V>5:
    V-=V/2
    sum+=1
print(sum)
"""
7.键盘录入一个整数, 获得该数的位数
"""
Int_input=input("请输入一个整数:")
if Int_input.isdigit():
    Int_len=len(Int_input)
    print("您输入的整数为:%s"%Int_input,"它是:%s位数。"%Int_len)
else:
    print("输入错误!请输入整数。")

"""
8.输出1000以内的所有水仙花数:
  水仙花数:一个三位数各个位上的立方之和,等于本身。
  例如: 153 = 1*1*1 + 5*5*5+ 3*3*3 = 1+125+27 = 153
"""
for i in range(100,1000):
    G = i % 10
    S = i//10%10
    B = i//100
    if G**3+S**3+B**3==i:
        print(i)

"""
9.石头剪刀布游戏
    0 表示石头  1表示剪刀  2表示布
    系统随机生成0-2之间的任意一个数
    用户输入0-2中的任意一个数
    验证输赢
    当用户赢了之后 
    问用户是否继续玩 输入 yes 为继续  no 为退出 其他时要求重新输入 yes 或者 no
    【注意: 石头 > 剪刀   剪刀 > 布  布 > 石头】
"""
import random

def IF_panduan():
    output="石头剪刀布游戏"
    print()
    print(output.center(20,"*"))
    print("0 表示石头  1表示剪刀  2表示布")
    USE_input = int(input("请输入0-2的数,进行游戏:"))
    ran_v = random.randint(0, 2)
    print("玩家出的是:",USE_input)
    print("电脑出的是:",ran_v)
    if USE_input==0 or USE_input==1 or USE_input==2:
        if USE_input==ran_v:
            print("平局")
        elif USE_input==0 and ran_v==1:
            print("用户胜利!")
        elif USE_input==1 and ran_v==2:
            print("用户胜利!")
        elif USE_input==2 and ran_v==0:
            print("用户胜利!")
        else:
            print("电脑胜利!")
    else:
        print("输入错误!游戏结束!")
        exit()

def IF_SFJX():
    while 1:
        print("是否进行下一局游戏?输入yes继续,no退出。")
        USE_select = input("请输入您的选择:")
        if USE_select=="yes" or USE_select=="YES" or USE_select=="Yes" or USE_select=="no" or USE_select=="NO" or USE_select=="No":
            if USE_select=="yes" or USE_select=="YES" or USE_select=="Yes" :
                IF_panduan()
            elif USE_select=="no" or USE_select=="NO" or USE_select=="No":
                print("游戏结束!")
                exit()


if __name__ == '__main__':
    IF_panduan()
    IF_SFJX()
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值