三元表达式:
x = 1
y = 2
z = 3
if x:
a = y
print(a)
else:
a = z
print(a)
用三元表达式可以写成:
x = 1
y = 2
z = 3
a = y if x else z # 程序执行到此,先判断if 是否为True 如果True 将y 赋值给a 否则 将z赋值给a
print(a)
结果都是一样的。
while…else…
eg:输入一个数,判断是否为质数。
nun = int(input("请输入一个数字:"))
if nun<=1:
print("这不是质数")
else:
i = 2
while i<nun:
if nun %i ==0:
print("这不是一个质数")
break
i= i+1
else:
print("这是一个质数")
练习1.输入数字,逆序输出
a = int(input("请输入数字:")) #123
b=a%10 # 123%10 = 3
c = a//10%10 #2
d = a//100%10 #1
f = b*100+c*10+d
#300 #20 #1
print(f) #结果为:321
练习2.玩家和电脑进行猜拳游戏(电脑随机出拳)
import random #调用随机函数模块
player = int(input("玩家请出拳(1表示石头、2表示布、3表示剪刀):"))
computer = random.randint(1,3) #电脑随机生成1~3的整数
print("电脑出拳为:",computer)
if player == computer:
print("平局")
elif player == 1 and computer == 3 or player == 2 and computer == 1 or player == 3 and computer == 2:
print("玩家获胜")
else:
print("电脑获胜")
结果为:
练习3.计算1~100之间的所有偶数和。
a = 1
sum = 0
while a <= 100:
if a%2 ==0:
sum = sum+a
a = a+1
print(sum)
结果为:2550
练习4.从键盘输入5个数,求平均值。
i = 1
x = 0
while i <=5:
a = int(input("请输入数字:"))
x = x+a
i = i+1
print(x/5)
结果为:
练习5.从键盘输入5个数,求最大值
i = 1
max = 0
while i <= 5:
a =int(input("请输入数字:"))
if a >= max:
max = a
else:
if i == 1:
max = a
i = i + 1
print("最大值为:",max)
练习6.打印小星星
i = 1
while i <= 5:
print(" "*(5-i)+"*"*(i*2-1))
i = i+1
结果为:
练习7.求1-2+3-4+5…99的所有数的和。
i = 1
sum1 = 0
sum2 = 0
while i < 100:
if i%2 == 0:
sum1 = sum1+i
if i%2 == 1:
sum2 = sum2+i
i = i+1
print(sum2-sum1)
结果为:50
练习8.设定一个理想数字比如:66,让用户输入数字,如果比66大,则显示猜测的结果大了;
如果比66小,则显示猜测的结果小了;只有等于66,显示猜测结果正确,然后退出循环。
给用户三次猜测机会,如果三次之内猜测对了,则显示猜测正确,退出循环,
如果三次之内没有猜测正确,则自动退出循环,并显示‘太笨了你…’
户登陆(三次输错机会)且每次输错误时显示剩余错误次数(提示:使⽤字符串格式化,使用while循环)
x = 66
i = 1
while i <= 3:
a = int(input("请输入数字:"))
if a == x:
print("输入结果正确!")
break
else:
while a > x:
print("结果大了!")
break
else:
print("结果小了!")
b = 3-i
i = i+1
print("剩余机会:%d"%(b))
if b == 0:
print("太笨了,你!")
break
结果为:
今天就到这里了!