暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

python基础--双分支选择结构练习代码

AI小白笔记 2021-10-06
289

点击蓝字

关注我们

今天解决上节留下的三道习题

题目1

从键盘输入一元二次方程a*x*x+b*x+c=0的三个系数a,b,c,判断该方程是否有实根,若有,输出两个实根;若无,输出方程无实根。


代码

import math
a=eval(input('请输入系数a的值:'))
b=eval(input('请输入系数b的值:'))
c=eval(input('请输入系数c的值:'))
delta=b*b-4*a*c
if delta>=0:
   x1=(-b+math.sqrt(delta))/(2*a)
   x2=(-b-math.sqrt(delta))/(2*a)
   print('x1=',x1,'x2=',x2)
else:
   print('方程无实根...')

代码解析

  1. 当delta>=0时,方程有实根,所以这个表达式作为if的条件表达式,注意乘式在写成代码的时候乘号不能省略;


  2. 第6-7行分别求方程的两个实根,注意没有上下标的写法,所以数学上x1中的1这里只需正常输入即可;


  3. 为了保证数学计算的正确性,建议分式的分母和分子都分别加上括号。


  4. 第7-9行是一个语句块,必须缩进,切记!


题目2

从键盘输入一个年号,判断该年是否闰年,若是输出“YES”,否则输出“NO”。判断闰年的方法是:若年号能被4整除但不能被100整除,则该年是闰年;或年号能被400整除也是闰年。


代码

year=eval(input('请输入一个年号:'))
if year%4==0 and year%100!=0 or year%400==0:
   print(str(year)+'年是闰年!')
else:
   print(str(year)+'年不是闰年!')

代码解析

  1. 这道题目的关键是将题目判断闰年的条件转化为表达式,注意到题目判断闰年的条件有两个,满足其中一个条件即是闰年;


  2. 整除即求余数等于0,要用到求余数符号%,注意python中等号是==,不等号是!=。


  3. 输出时加上str()函数是因为在第1行接收输入时用eval()函数转换成了数值型,这里需将其转换成字符串类型再和后面的字符串连接。


题目3

从键盘输入一串字符,将其理解为银行卡密码,判断字符串长度是否为6且全部字符都是阿拉伯数字,若是则输出“密码格式正确”,否则输出“密码格式有误”。


代码

a=input('请输入一串字符')
if len(a)==6 and a.isnumeric()==True:
   print('密码格式正确')
else:
   print('密码格式有误')

代码解析

  1. 这道题目复习了字符串两个常用函数的用法,分别是len()和isnumeric(),前者是求字符串的长度,后者是判断字符串所有字符是否都是数字;


  2. isnumeric()是字符串的一个函数,即使无需参数一对括号也不能省略;


  3. 第2行a.isnumeric()==True还可以写成a.isnumeric(),一般来说, 在if之后是一个表达式或者函数时,就是要判断其逻辑值是真还是假,有时候可以将==True省略,默认就是与True作相等的判断。

THE END

文章转载自AI小白笔记,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论