python面试题&练习题之运算符与if控制

1、任意的输入10个数字,按从大到小排序

l2 = []
for i in range(1,11):
    num = input('输入第{}个数字'.format(i))
    if num.isdigit():
        num = int(num)
        l2.append(num)

l2.sort(reverse=True)
print(l2)

2、"在一个月黑风高的夜晚,一个小男生用自己的零花钱给小女生买了一束鲜花,小女生问小男生鲜花的数量:“这花多少束?”,
通过键盘输入小男孩回答的鲜花的束数,数量不一样小女生的反应也不一样。
如果鲜花数大于等于9999,打印:"小女生直接晕了过去",
如果在1000(包含)-9999(不包含),打印:"明天就结婚",
如果在100(包含)-1000(不包含), 打印:"拉拉手意思意思,有空再约!",
否则:打印:"你是个好人"

flower_num = input('输入回答的鲜花的束数:')
if flower_num.isdigit():
    flower_num = int(flower_num)
    if flower_num >9999:
        print("小女生直接晕了过去")
    elif flower_num >=1000 and flower_num <9999:
        print("明天就结婚")
    elif flower_num >=100 and flower_num <1000:
        print("拉拉手意思意思,有空再约!")
    else:
        print("你是个好人")
else:
    print('输入错误,请重新输入鲜花的束数')

3、输入三角形的三条边长,判断三角形的类型。根据实际情况分别打印:
不能构成三角形,一般三角形,等腰三角形,等边三角形,
只要能构成三角形,则还需要计算出:周长。

a = input('请输入一个数字')
b = input('请输入一个数字')
c = input('请输入一个数字')
if a.isdigit() and b.isdigit() and c.isdigit():
    a = int(a)
    b = int(b)
    c = int(c)
    if (a > 0 and b > 0 and c > 0) and (a + b > c or a + c > b or b + c > a):
        if a == b and a !=c:
            print('等腰三角形')
            print('周长为:',c+a*2)
        elif a != b and a !=c and b != c:
            print('一般三角形')
            print('周长为:',a+b+c)
        elif a == b and a == c:
            print('等腰三角形')
            print('周长为:',a*3)
        else:
            print('不能构成三角形')
    else:
        print('输入的条件有误,请输入大于0的数字')
else:
    print('请输入数字且大于0')

4、如果输入三个不同的数,要求比较大小并按从小到大排序输出呢?如输出:a<b<c)

方法一:
a = input('请输入一个数字')
b = input('请输入一个数字')
c = input('请输入一个数字')
if a.isdigit() and b.isdigit() and c.isdigit():
    a = int(a)
    b = int(b)
    c = int(c)
    if c < b and b < a and c < a:
        print('c<b<a')
    elif c < a and a < b and c < b:
        print('c<a<b')
    elif b < c and b < a and c < a:
        print('b<c<a')
    elif b < a and b < c and a < c:
        print('b<a<c')
    elif a < b and a < c and b < c:
        print('a<b<c')
    elif a < c and a < b and c < b:
        print('a<c<b')
else:
    print('输入错误,请重新输入数字')

方法二:
a=int(input("请输入一个整数:"))
b=int(input("请输入一个整数:"))
c=int(input("请输入一个整数:"))
dic = {}
dic[a] = "a"
dic[b] = "b"
dic[c] = "c"
lis=list(dic.keys())
lis.sort()
print(dic[lis[2]]+">"+dic[lis[1]]+">"+dic[lis[0]])

方法三:
l1 = []
for i in range(1,4):
    a = input('请输入第{}个数字'.format(i))
    a = int(a)
    l1.append(a)
    l1.sort()
print('<'.join(map(str,l1)))

5、判断输入的用户名为admin及密码为admin则打印登录成功,否则打印用户名或密码错误,登录失败

username = input('请输入用户名')
password = input('请输入密码')
if username == 'admin' and password == 'admin':
    print('登录成功')
else:
    print('用户名或密码错误,登录失败')

6、判断输入的数是奇数还是偶数

number = input('请输入一个数字')
if number.isdigit():
    number = int(number)
    if number % 2 == 0:
        print('偶数')
    else:
        print('奇数')
else:
    print('输入错误,请重新输入')

7、用户输入的年份是否为闰年

year = input('请输入一个数字')
if year.isdigit():
    year = int(year)
    if year % 4 == 0 and year % 100 != 0 or year % 400 == 0 :
        print('闰年')
    else:
        print('不是闰年')
else:
    print('输入错误,请重新输入')

8、输入两个整型变量,分别使用if结构两个中的最小值

number1 = input('请输入一个数字')
number2 = input('请输入一个数字')
if number1.isdigit() and number2.isdigit():
    number1 = int(number1)
    number2 = int(number2)
    if number1 <number2:
        print('最小值是:number1')
    else:
        print('最小值是:number2')
else:
    print('输入错误,请重新输入')
posted @ 2019-12-22 17:44  菩提306  阅读(861)  评论(0编辑  收藏  举报