欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

python基础算法小练习--条件判断、循环控制

程序员文章站 2023-11-11 17:21:52
python流程控制:顺序执行、条件判断、循环控制相关小练习整理如下:1.从键盘上读入一个学生成绩,存放在变量score中,根据score的值输出其对应的成绩等级:score>=90 等级:A70= 90: print("A")...

python流程控制:顺序执行、条件判断、循环控制

数据类型在数据结构中的定义是一个值的集合以及定义在这个值集上的一组操作。白话讲就是给不同的对象进行分类。在Python的世界,数据类型分两种,内置的和自定义的
内置的包括数字、字符串、布尔、列表、元组、字典、Bytes、集合这些常用的以及一些不太常用的数据类型。而自定义的,一般以类的形式,根据需要组合以上内置类型成为独特的数据类型。

相关小练习整理如下:
1.从键盘上读入一个学生成绩,存放在变量score中,根据score的值输出其对应的成绩等级:
score>=90 等级:A
70=<score<90 等级:B
60=<score<70 等级:C
score<60 等级:D

def text():
    score = int(input("请输入学生成绩:"))
    if score > 90:
        print("A")
    elif score <90 and score >= 70:
        print("B")
    elif score <70 and score >= 60:
        print("C")
    else:
        print("D")

if __name__ == '__main__':
    text()

2.打印如下的图形:三角形
python基础算法小练习--条件判断、循环控制

def main():
    row = 1
    errmsg = '*'
    while 1:
        print(errmsg * row)
        if row < 6:
            row += 1
        else:
            break
    while 1:
        if row > 0:
            row -= 1
            print(errmsg * row)
        else:
            break


if __name__ == '__main__':
    main()

3.输出9*9口诀

#尝试双循环输出,并根据输出结果调整循环的次数 打印输出参数设置
#控制乘法口诀表的显示顺序 不换行输出 循环一条换一行

for i in range(1,10):
    for j in range(1,i+1):
        print('{}*{} = {}'.format(j,i,i*j),end='')
    print()

4.一个5位数,判断它是不是回文数。即12321是回文数,个位与万位相同,十位与千位相同。

num=input("请输入一个五位数?")
a=num[:1]
b=num[1:2]
c=num[2:3]
d=num[3:4]
f=num[4:5]
print(a,b,c,d,f)
if a==f and b==d:
    print("是回文数")
else:
    print("不是")

5.求100之内的素数
#只能被自己和1整除的数叫做素数 1不是 2是

j=2
while(j<=100):
    count=0
    k=1
    while(k<=j):
        if(j%k==0):
            count+=1
        k+=1
    if(count==2):
        print("%d是一个素数.."%(j))
    j+=1

6.输入一行字符,分别统计出其中英文字母、空格、数字和其它字符的个数

tmpStr = input('请输入字符串:')
alphaNum=0
numbers=0
spaceNum=0
otherNum=0
for i in tmpStr:
    if i.isalpha():
        alphaNum +=1
    elif i.isnumeric():
        numbers +=1
    elif i.isspace():
        spaceNum +=1
    else:
        otherNum +=1
print('字母=%d'%alphaNum)
print('数字=%d'%numbers)
print('空格=%d'%spaceNum)
print('其他=%d'%otherNum)

7.打印出所有的 “水仙花数 "
#水仙花数是指一个 n 位数(n≥3 ),它的每个位上的数字的 n 次幂之和等于它本身。
#例如:153是一个"水仙花数”,因为153=1的三次方+5的三次方+3的三次方。

for i in range(100,1000):
    s = str(i)
    if int(s[0])**3+int(s[1])**3+int(s[2])**3==i:
        print('水仙花:',i)

8.判断某个月2020判断是平年还是闰年
#规则:四润 百不润 400年润

year=2020
if(year%4==0 and year%4!=0 or year%4==0):
    print("%d是一个闰年"%(year))
else:
    print("%d不是一个闰年" % (year))

9.猜拳小游戏(石头、剪刀、布)
方法一:

b=input("请输入你的游戏币,请输入你的充值金额:")
bb=int(b)

import random   # 调用随机数模块
pc = random.randint(1, 3)

while bb>0:
    if(bb>0):
        #石头剪刀布游戏规则编写 石头>剪刀>布>石头
        i=input("你出的是(石头/剪刀/布):")
        if pc==1:
            print("我出的是剪刀")
            if i== '石头':
                bb+=1
                print("你赢了")
            elif i== '剪刀':
                print("平局")
            else:
                bb -=1
                print("你输了")
            print("你的余额为",bb)
        elif pc==2:
            print("我出的是石头")
            if i == '布':
                bb += 1
                print("你赢了")
            elif i == '石头':
                print("平局")
            else:
                bb -= 1
                print("你输了")
            print("你的余额为", bb)
        else:
            print("我出的是布")
            if i == '剪刀':
                bb += 1
                print("你赢了")
            elif i == '布':
                print("平局")
            else:
                bb -= 1
                print("你输了")
            print("你的余额为", bb)
    else:
        print("金额不足,请充值")

方法二:

import random   # 调用随机数模块
pc = random.randint(1, 3)            # 产生1-3的随机数
a = '石头'
b = '剪刀'
c = '布'

while(True):
    bbb = input("请输入你的充值金额:")
    bb = int(bbb)
    if (bb > 5):
        user = input('请输入(石头,剪刀,布):')
        if user == '石头':
            print("你出了石头")
        elif user == '剪刀':
            print("你出了剪刀")
        else:
            print("你出了布")
        if pc == 1:
            print('电脑出了石头')
        elif pc == 2:
            print('电脑出了剪刀')
        else:
            print('电脑出了布')
        if user == '石头' and pc == 2 or user == '剪刀' and pc == 3 or pc == 3 or user == '布' and pc == 1:
            print("你赢了")
        elif user == '石头' and pc == 3 or user == '剪刀' and pc == 1 or user == '布' and pc == 2:
            print('你输了')
        else:
            print('平局')

欢迎参观和各位大佬的指正~

本文地址:https://blog.csdn.net/qq_47910757/article/details/107353101