精华内容
下载资源
问答
  • python分支结构

    2021-04-06 09:57:38
    (1)练习Python分支结构 (2)熟悉Python控制流语句 二、实验环境 Windows 7以上版本的操作系统,Python 3.5以上编程环境。 三、实验内容和步骤 1.建立Python脚本文件,实现BMI指数计算并在PyCharm中运行。 #...

    **

    实验06 Python分支结构

    **
    一、实验目的
    (1)练习Python分支结构
    (2)熟悉Python控制流语句
    二、实验环境
    Windows 7以上版本的操作系统,Python 3.5以上编程环境。
    三、实验内容和步骤
    1.建立Python脚本文件,实现BMI指数计算并在PyCharm中运行。
    #CalBMIv3.py

    height, weight = eval(input("输入身高(米)和体重(公斤)[逗号隔开]:"))
    bmi = weight / pow(height, 2)
    print("BMI 数值为:{:.2f}".format(bmi))
    who, nat = "", ""
    if bmi < 18.5:
        who, nat = "偏瘦", "偏瘦"
    elif 18.5 <= bmi < 24:
        who, nat = "正常", "正常"
    elif 24 <= bmi < 25:
        who, nat = "正常", "偏胖"
    elif 25 <= bmi < 28:
        who, nat = "偏胖", "偏胖"
    elif 28 <= bmi < 30:
        who, nat = "偏胖", "肥胖"
    else:
        who, nat = "肥胖", "肥胖"
    print("BMI 指标为:国际'{0}', 国内'{1}'".format(who, nat))
    
    1. 运行截图:
      在这里插入图片描述

    2.猜数游戏。在程序中预设一个0-9之间的整数,让用户通过键盘输入所猜的数,如果大于预设的数,显示“很遗憾,太大了”;小于预设的数,显示“很遗憾,太小了”,如此循环,直至猜中该数,显示“预测N次,你猜中了!”,其中N是用户输入数字的次数。
    2. 程序代码

    import random
    a = random.randint(0,9)
    num = 0
    try:
        while True:
            b = int(input(" 猜一个1-10之间的整数:"))
            num = num + 1
            if b > a:
                print("很遗憾,太大了!")
            elif b < a:
                print("很遗憾,太小了!")
            else:
                break
        print( "预测{}次,你猜中了!".format(num))
    except ValueError:
        print("输入的不是整数")
    except:
        print("没有输入!")
    

    运行效果:

    在这里插入图片描述
    在这里插入图片描述

    2.猜数游戏。在程序中预设一个0-9之间的整数,让用户通过键盘输入所猜的数,如果大于预设的数,显示“很遗憾,太大了”;小于预设的数,显示“很遗憾,太小了”,如此循环,直至猜中该数,显示“预测N次,你猜中了!”,其中N是用户输入数字的次数。
    2. 程序代码

    import random
    a = random.randint(0,9)
    num = 0
    try:
        while True:
            b = int(input(" 猜一个1-10之间的整数:"))
            num = num + 1
            if b > a:
                print("很遗憾,太大了!")
            elif b < a:
                print("很遗憾,太小了!")
            else:
                break
        print( "预测{}次,你猜中了!".format(num))
    except ValueError:
        print("输入的不是整数")
    except:
        print("没有输入!")
    

    运行效果:

    在这里插入图片描述
    在这里插入图片描述
    3.最大公约数计算。从键盘接收2个整数,编写程序求出这两个整数的最大公约数和最小公倍数。(提示:求最大公约数可用辗转相除法,求最小公倍数则用两数的积除以最大公约数即可)。
    辗转相除法:
    (1)用一个整数去除另一个整数,得到它们的余数;
    (2)如果余数为0,则除数就是最大公约数,结束运算;
    (3)如果余数不为0,则计算除数和余数的最大公约数即可(舍去被除数)。
    重新转向(1)。
    例:设 a=48,b=18,a%b=12,余数不为0
    取a=18,b=12,a%b=6,余数不为0
    取a=12, b=6,a%b=0,余数为0
    则:最大公约数为6,结束运算。
    3. 程序代码

    num1 = int(input("请输入第一个正整数:"))
    num2 = int(input("请输入第二个正整数:"))
    a = max(num1, num2)
    b = min(num1, num2)
    c = a % b
    if c==0:
        print("{}和{}的最大公约数为:{}".format(num1,num2,b))
        print("{}和{}的最小公倍数为:{}".format(num1,num2,a))
    else:
        a = b
        b = c
        c = a % b
        print(num1, "和", num2, "的最大公约数为", b)
        print(num1,"和",num2,"的最小公倍数为",a)
    

    运行效果:
    在这里插入图片描述
    在这里插入图片描述

    4.统计不同字符的个数。用户从键盘输入一行字符,编写一个程序,统计并输出英文字符、数字、空格和其他字符的个数。

    string.isalpha()
    string.isdigit()
    string.isnumeric()
    string.isspace()
    65 <= ord(str[i]) <=90 or 97<= ord(str[i]) <= 122
    4. 程序代码
    
    s=input("请输入一行字符:\n")
    alpha,num,space,other=0,0,0,0
    for i in s:
        if i.isalpha():
            alpha+=1
        elif i.isdigit():
            num+=1
        elif i.isspace():
            space+=1
        else:
            other+=1
    print('英文字符数{},数字字符数{},空格字符数{},其他字符数{}'.format(alpha,num,space,other))
    

    运行效果:

    在这里插入图片描述

    展开全文
  • #Python

    Problem A:判断成绩是否及格

    题目描述
    输入成绩的分数值s,如果s≥60,则为及格,输出pass;否则为不及格,输出fail

    样例输入

    60

    样例输出

    pass

    答案

    while True:
        s = eval(input())
        if s >= 60:
            print("pass")
        else:
            print("fail")
    
    

    Problem B:比较两个数的大小

    题目描述
    输入两个整数a与b,按照从小到大次序输出两个整数值。

    样例输入

    2 1

    样例输出

    1 2

    答案

    a,b = map(int,input().split())
    if a < b:
        print(a,b)
    else:
        print(b,a)
    

    Problem C:奇数与偶数

    题目描述
    输入整数n,如果n为奇数,输出odd;否则输出even

    样例输入

    1

    样例输出

    odd

    答案

    while True:
        n = int(input())
        if n % 2 == 0:				#  %表示取余
            print("even")
        else:
            print("odd")
    

    Problem D:闰年与平年

    题目描述
    输入年份y,判断这个年份是否为闰年(闰年的条件是:年份能被4整除且不能被100整除,或能被400整除)

    输入

    输入年份y,y为整数并且满足1600≤y≤2100

    样例输入

    【测试样例1】
    2000
    【测试样例2】
    2012
    【测试样例3】
    2015
    【测试样例4】
    1900

    样例输出

    【测试样例1】
    leap year
    【测试样例2】
    leap year
    【测试样例3】
    non-leap year
    【测试样例4】
    non-leap year

    答案

    while True:
        y = int(input())
        if (y % 4 == 0 and y % 100 != 0) or y % 400 == 0:		# !=表示不等于
            print("leap year")
        else:
            print("non-leap year")
    

    Problem E:【分支结构】求解一元二次方程

    题目描述
    求解方程ax^2+bx+c=0。输入a、b、c的值(其中a≠0),计算并输出方程的解x(保留一位小数)。如果方程无实数解,输出“no real solution”。

    输入

    输入a,b,c的值

    输出

    输出方程的解,如果有实数解,按照从大到小输出,保留一位小数。

    样例输入

    1 4 3

    样例输出

    x1=-1.0
    x2=-3.0

    答案

    from math import sqrt							# 导入防止sqrt报错
    a,b,c = map(eval,input().split())
    if (b ** 2) - (4 * a * c) > 0:					# 双根情况
        x1 = (-b + sqrt((b ** 2) - (4 * a * c))) / (2 * a)
        x2 = (-b - sqrt((b ** 2) - (4 * a * c))) / (2 * a)
        if x2 > x1:
            x1,x2 = x2,x1							# 确保x1 > x2
            print('x1=%.1f'%x1)
            print('x2=%.1f'%x2)
        else:
            print('x1=%.1f'%x1)
            print('x2=%.1f'%x2)
    elif (b ** 2) - (4 * a * c) == 0:				# 单根情况
        x1 = (-b + sqrt((b ** 2) - (4 * a * c))) / (2 * a)
        print('x1=%.1f'%x1)
        print('x2=%.1f'%x1)
    else:											# 无根情况
        print('no real solution')
    
    

    Problem F:足球比赛计分

    题目描述
    在足球比赛中,每场比赛的计分规则与双方的进球数有关: 进球数多的一方获胜,计3分;进球数少的一方失败,计0分; 如果双方进球数相同(或双方都未进球),为平局,双方各计1分。 输入比赛双方的进球数,输出双方的得分。

    输入

    输入比赛双方的进球数。

    输出

    输出双方的得分,用1个空格分隔。

    样例输入

    0 0
    6 1
    0 1

    样例输出

    1 1
    3 0
    0 3

    答案

    while True:
        a,b = map(eval,input().split())
        if a > b:
            print("3 0")
        elif a == b:
            print("1 1")
        else:
            print("0 3")
    

    Problem G:【分支结构】并联电阻

    题目描述
    在并联电路中,两个电阻R1、R2并联之后总的电阻值R可以用公式计算。
    输入电阻R1、R2的值(整数),计算并输入R1、R2并联的电阻值(保留一位小数)
    一张平平淡淡的电路图

    样例输入

    3 6

    样例输出

    2.0

    答案

    a,b = map(eval,input().split())
    if a == 0 or b == 0:
        print('0.0')
    else:
        r = (a * b) / (a + b)
        r = '%.1f'%r
        print(r)
    

    Problem H:【分支结构】三个整数a,b,c从小到大排序

    题目描述
    输入三个整数a,b,c;按照从小到大次序输出。

    样例输入

    1 2 3
    3 2 1
    6 6 6
    100 10 1

    样例输出

    1 2 3
    1 2 3
    6 6 6
    1 10 100

    答案

    while True:
        a,b,c = map(eval,input().split())
        if c < b < a:
            a,b,c = c,b,a
        elif b < c < a:
            a,b,c = b,c,a
        elif b < a < c:
            a,b,c = b,a,c
        elif a < c < b:
            a,b,c = a,c,b
        print(a,b,c)
    
    展开全文
  • Python练习题2.分支结构练习

    千次阅读 2019-10-08 17:34:18
    练习1:英制单位英寸与公制单位厘米互换。 参考答案: value = float(input('请输入长度: ')) unit = input('请输入单位: ') if unit == 'in' or unit == '英寸': print('%f英寸 = %f厘米' % (value, value * ...

    练习1:英制单位英寸与公制单位厘米互换。

    参考答案:

    
    
    value = float(input('请输入长度: '))
    unit = input('请输入单位: ')
    if unit == 'in' or unit == '英寸':
        print('%f英寸 = %f厘米' % (value, value * 2.54))
    elif unit == 'cm' or unit == '厘米':
        print('%f厘米 = %f英寸' % (value, value / 2.54))
    else:
        print('请输入有效的单位')

    练习2:百分制成绩转换为等级制成绩。

    要求:如果输入的成绩在90分以上(含90分)输出A;80分-90分(不含90分)输出B;70分-80分(不含80分)输出C;60分-70分(不含70分)输出D;60分以下输出E。

    参考答案:

    
    score = float(input('请输入成绩: '))
    if score >= 90:
        grade = 'A'
    elif score >= 80:
        grade = 'B'
    elif score >= 70:
        grade = 'C'
    elif score >= 60:
        grade = 'D'
    else:
        grade = 'E'
    print('对应的等级是:', grade)

    练习3:输入三条边长,如果能构成三角形就计算周长和面积。

    参考答案:

    
    
    a = float(input('a = '))
    b = float(input('b = '))
    c = float(input('c = '))
    if a + b > c and a + c > b and b + c > a:
        print('周长: %f' % (a + b + c))
        p = (a + b + c) / 2
        area = (p * (p - a) * (p - b) * (p - c)) ** 0.5
        print('面积: %f' % (area))
    else:
        print('不能构成三角形')
    
    展开全文
  • 1.哪个选项是实现多路分支的最佳控制结构?(5.0分) A、if B、if-elif-else C、try D、if-else 2. 关于程序的控制结构,哪个选项的描述是错误的?(5.0分) A、流程图可以用来展示程序结构 B、顺序结构有一个入口 C...

    一、单选题
    1.哪个选项是实现多路分支的最佳控制结构?(5.0分)
    A、if
    B、if-elif-else
    C、try
    D、if-else
    2. 关于程序的控制结构,哪个选项的描述是错误的?(5.0分)
    A、流程图可以用来展示程序结构
    B、顺序结构有一个入口
    C、控制结构可以用来更改程序的执行顺序
    D、循环结构可以没有出口
    3.哪个选项能够实现Python循环结构?(5.0分)
    A、loop
    B、while
    C、if
    D、do…for
    4.哪个选项对死循环的描述是正确的?(5.0分)
    A、使用for语句不会出现死循环
    B、死循环就是没有意义的
    C、死循环有时候对编程有一定作用
    D、无限循环就是死循环
    5.下列有关break语句与continue语句不正确的是____(5.0分)
    A、当多个循环语句彼此嵌套时,break语句只适用于最里层的语句。
    B、continue语句类似于break语句,也必须在for、while循环中使用。
    C、continue语句结束循环,继续执行循环语句的后继语句
    D、break语句结束循环,继续执行循环语句的后继语句。
    break 使循环终止
    continue 跳过本次的循环迭代

    6.int()函数的作用是?(5.0分)
    A、输入命令
    B、将一个字符串或者数字转换为整型
    C、输出命令
    D、将一个字符串或者数字转换为浮点型

    7.for var in ___:
    print(var)
    哪个选项不符合上述程序空白处的语法要求?(5.0分)
    A、range(0,10)
    B、{1;2;3;4;5}
    C、“Hello”
    D、(1,2,3)
    二、多选题
    8.程序的三种结构分为哪三种?(5.0分)
    A、顺序结构
    B、分支结构
    C、循环结构

    D、一般结构
    9.在屏幕上打印1-30数,每7个数换行

    for i in range(1,31):
        if i%7==1:
            print()
        print(i,end=' ')
    

    10.不断地输入数字,输入b退出,然后打印出以下内容总和是多少 有多少个 平均是多少

    #不断地输入数字,输入b退出,然后打印出以下内容总和是多少  有多少个  平均是多少
    sum=0
    c=0
    while True:
        a=input("请输入一个数字")
        if a == 'b':
            break;
        else:
            sum+=int(a)#转化为整型,并求和
            c+=1
            
        p=sum/c
        print("总和为{0},次数为{1},平均值为{2}".format(sum,c,p))
    

    11.编写程序,输出由1、2、3、4这四个数字组成的每位数都不相同的所有三位数

    for a in range(1,5):
    
         for b in range(1,5):
    
            for c in range(1,5):
    
                    if a!=b and a!=c and b!=c :
    
                        print("%d%d%d" %(a,b,c)," ",end="")
    

    12.九九乘法口诀表

    for i in range(1,10):
    
         for j in range(1,i+1):
    
              print( "%d*%d=%d\t"%(j,i,j*i),end="")
    
         print()
    

    13.从控制台输出,方法定义如右下图:
    123456
    234561
    345612
    456123
    561234
    612345

    for i in range(1,7):
        for j in range(i,7):
            print(j,end="")
        for h in range(1,i-1+1):
            print(h,end="")
        print()
    

    14.统计不同字符个数。用户从键盘输入一行字符串,编写一个程序,统计并输出其中英文、数字、空格和其他
    字符的个数

    x=input("输入你的字符串:")
    a=b=c=d=0
    for i in x:
        if ord('a')<=ord(i)<=ord('z') or ord('A')<=ord(i)<=ord('Z'):
            a=a+1
        elif ord('0')<=ord(i)<=ord('9'):
            b=b+1
        elif ord(i)==ord(' '):
            c=c+1
        else:
            d=d+1
    print("这一行字符中字母的数量是:{},数字的数量是:{},空格数量是:{},其他字符的数量是:{}。".format(a,b,c,d))
    
    展开全文
  • 本文以GitHub上100天python从新手到大师为素材,规划为约100天的练习,每次的学习和总结均发在这里。有错误的地方还请朋友们指正。 应用场景 在Day1 &2 两天的程序中,我们的代码都属于顺序结构,即一条线下来...
  • 用户身份验证 username = input('请输入用户名:') password = input('请输入密码:') if username == 'admin' and password == '123456': print('验证通过') else: print('验证失败') 分段函数求值 ... y.
  • """ Python-100Day-学习打卡 Author: Seven_0507 Date: 2019-05-16 ~ 2019-05-16 ... Python分支结构练习题1.1 用户身份验证1.2 分段函数求值1.3 英制单位英寸和公制单位厘米互换1.4 掷骰子游戏1....
  • 1.输入1-12之间的整数,输出其对应的季节。3到5为Spring,6-8为Summer,9-11为Autumn,12-2为Winter。其他则输出错误提示。 n = eval(input("请输入1-12之间的整数:")) res = '' if type(n) !...

空空如也

空空如也

1 2 3 4 5 ... 11
收藏数 212
精华内容 84
关键字:

python分支结构练习

python 订阅