python条件控制(if,while)

本文介绍了Python中的条件控制语句,包括if...else...结构,三目运算以及while循环的使用。还讲解了input函数获取用户输入,并通过实例练习展示了如何找出1000以内的水仙花数及判断用户输入的数字是否为质数。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

三目运算

三目运算格式: 语句 if 表达式 else 语句

# 条件运算符
#demo1:
a = 1
b = 2
m = a if a>b else b
print(m)
#demo2:
a = 1
b = 2
c = 3
m = a if a>b and a>c else b if b >c else c
print(m)

运算符的优先级

and的优先级高于or

a = 2 or 3 and 4
print(a)
#分析:如果 Or 和and 优先级一样,结果是4
#	   如果or 的优先级高 ,结果是4
#      如果and 的优先级高,结果是2
#结果是 2

条件控制语句

if…else…

#demo:一个程序员妻子说,你出去买2个包子,如果看到有卖西瓜的就买一个回来;结果程序员买回来一个包子,
#      妻子问,你怎么买一个包子回来呢,程序员老公说:我看见买西瓜了
see = input('是否看到卖西瓜的(y/n):')
if see.lower() == 'y':
	print('买了一个包子')
elif see.lower() == 'n':
	print('买了2个包子')
else:
	print('到底看到卖西瓜的没有啊!')

input函数

see = input(‘请输入内容:’),获取用户输入的内容
例如:

data = input('是否来到我家y/n:')
#利用if条件语句来判断
print('欢迎来到我家做客!')

while

while 表达式 :
代码块

#demo:利用while编写9*9乘法表
i =1
while i <=9:
    y =1
    while y <=i:
        print('%d*%d=%d\t'%(y,i,(y *i)),end='')
        y +=1
    print()
    i +=1

实例练习

demo1

#demo:根据月份来判断季节,请用户输入一个月份,让程序来帮你判断输入的月份是什么季节
month = int(input('请用户输入月份,我来帮你判断季节:'))
if month>12 or month<1:
    print('请输入正确的月份')
elif 3<=month<=5:
    print('请输入的%s月份属于春季'%month)
elif 6<=month<=8:
    print('请输入的%s月份属于夏季' % month)
elif 9<=month<=11:
    print('请输入的%s月份属于秋季' % month)
else:
    print('请输入的%s月份属于冬季' % month)

demo2

#我家的狗5岁了,5岁的狗相当于人类的年龄是多大呢?说明:狗的前2年的每一年相当于人类的10.5岁,
#然后每一年增加4岁
try:
    age = float(input('请输入狗狗的年龄,然后帮你换算成人的年龄:'))
    person = 0
    if age<=2:
        person = 2*10.5
        print('换算成后的年龄是%f岁'%person)
    elif age>2:
        person = 2*10.5+(age-2)*4
        print('换算成后的年龄是%f岁'%person)
    else:
        print('请输入合法的数字!')
except (TypeError,ValueError):
    print('请输入字符型的数字!')
'''
说明:
 try:
 	代码块
 except 参数:
 	代码块
 此语法结构主要是异常提示信息,保证用户在输入的时候按照程序所涉及的要求进行输入并进行友情提示
'''

课后作业

请打印出1000以内的水仙花数

水仙花数:指百位的3次幂+十位的3次秒+个位的3次幂等于它本身。
分析:
a = 153
print(a//100)
print(a%100//10)
print(a%10)
b =((a//100)(a//100)(a//100))+((a%100//10)(a%100//10)(a%100//10))+((a%10)(a%10)(a%10))
print(b)

#while 与 if实现
a = 100
while a<1000:
    b = ((a//100)*(a//100)*(a//100))+((a%100//10)*(a%100//10)*(a%100//10))+((a%10)*(a%10)*(a%10))
    if a==b:
        print(b)
    a+=1
#for 与 if 实现
for a in range(100,1000,1):
    b =((a//100)*(a//100)*(a//100))+((a%100//10)*(a%100//10)*(a%100//10))+((a%10)*(a%10)*(a%10))
    if a == b:
        print(b)

根据用户输入的任意数字,判断是否是质数

质数是指只能本1和本身整除的数字

#分析:数字的公约数只有1(特殊不在程序中考虑)、2、3、5、7
a = int(input('请输入数字,让我来判断输入的是否是质数:'))
if a==2 or a==3 or a==5 or a==7:
    print('%d是的质数!'%a)
elif a%2!=0 and a%3!=0 and a%5!=0 and a%7!=0:
    print('你输入的%d是质数!'%a)
else:
    print('你输入的%d不是质数!'%a)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值