# 方法1: n=1 # 定义变量保存起始的数字 while n<=100: print(n) n+=1 # 方法2: for num in range(1,101): print(num) # 方法3: n=100 # 定义变量保存起始的数字 while n>=0: print(n) n-=1
案例2:编程实现,让用户输入一个整数n,打印输出n以内的全部大于0的偶数(不包含n)
# 方法1:
# 让用户输入一个数字
userInput=int(input("请输入一个整数"))
# 通过range直接生成偶数
for num in range(2,userInput+1,2):
print(num)
# 方法2:
n = int(input("请输入整数:"))
num = 1
while num0:
if num%2 == 0:
# 打印数字
print(num)
# 修改num的值,让其自减1【目的是为了将来能结束循环】
num -= 1
案例3:编程实现,实现输出 1,2,3,4,5, 7,8,9, 11,12
# 方法1: i = 0 while i <= 12: if i !=6 and i !=10: print(i) i = i+1 # 方法2: i = 0 while i < 12: i = i + 1 if i ==6 or i ==10: continue else: print(i) # 方法3: # 生成1-12的数字 for i in range(1,13): # 如果数字是6 或者 10,则立刻开始下一次循环 if i == 6 or i == 10: continue print(i)
案例4:编程实现,输出100-50,从大到小,如100,99,98...,到50时再从0循环输出到50,然后结束
# 方法1:用两个独立的循环
m = 100
n = 0
while m>=50:
print(m)
m -= 1
while n<=50:
print(n)
n += 1
# 方法2:用一个循环
m = 100 # 定义变量m,用于定义输出100~50之间的数
n = 0 # 定义变量n,用于实现while的循环控制,并输出0-50之间的数
# 开始循环
while n<=50:
if m>=50:
print(m)
else:
print(n)
n+=1
m -= 1
# 方法3:
for n in range(100,49,-1):
print(n) # 输出100-50的数字
for m in range(51):
print(m) # 输出0-50的数字
案例5:编程实现,实现输出 1-100 内的所有奇数
# 方法1:用range实现 for n in range(1,101,2): print(n) # 方法2:用while结合break n = 1 while True: if n%2 == 1: print(n) elif n>=101: break n += 1 # 方法3:用while n = 1 while n<101: if n%2 == 1: print(n) n += 1求和
案例1:计算1+2+3...100
#方法1:
sum = 0 # 定义一个空变量,用于保存计算求和的结果
num = 1 # 定义变量保存起始的数字
while num <= 100:
sum = sum + num
num = num + 1
print(sum)
#方法2:
for n in range(101)
print(n)
案例2:用程序计算100以内有多少个3的整数倍数字
# 方法1 sum = 0 for num in range(3,100,3): sum += 1 print(sum) # 方法2 sum = 0 for num in range(1,101): if num%3 == 0: sum += 1 print(sum) # 方法3 sum = 0 n=1 while n<100: if n%3 == 0: sum +=1 n += 1 print(sum) # 方法4 sum = 0 n=1 while True: if n == 100: break elif n%3 == 0: sum +=1 n += 1 print(sum)
案例3:计算1-100的偶数和
#方法1:
sum = 0 # 定义一个空变量,用于保存计算求和的结果
num = 1 # 定义变量保存起始的数字
while num <= 100:
if num%2 == 0:
sum = sum + num
num = num + 1
print(sum)
#方法2:
for n in range(2,101,2)
print(n)
案例4:编程实现,使用while循环实现输出2-3+4-5+6-7+8-9+10 的和
# 方法1:
sum1 = 0 # 定义变量保存2 4 6 8 10的和
sum2 = 0 # 定义变量保存3 5 7 9的和
# 计算2 4 6 8 10的和
for m in range(2,11,2):
sum1 += m
# 计算3 5 7 9的和
for n in range(3,10,2):
sum2 += n
# 计算2-3+4-5+6-7+8-9+10,也就是计算(2+4+6+8+10) -(3+5+7+9)
res = sum1 - sum2
print(res)
# 方法2:
n = 2
sum1 = 0
sum2 = 0
while n <= 10 :
if n%2 == 0:
sum1 += n
elif n%2 == 1:
sum2 += n
n = n + 1
sum = sum1 - sum2
print(sum)
案例5:编程实现,使用while循环实现输出1+2+3-4+5+6+7-8.....100 的和
# 方法1:
sum1 = 0
sum2 = 0
for num in range(101):
sum1 += num
for num in range(4,101,4):
sum2 += num
res = sum1 - sum2*2
print(res)
# 方法2:
sum1 = 0
sum2 = 0
for num in range(101):
if num%4 != 0:
sum1 += num
for num in range(4,101,4):
sum2 += num
res = sum1 - sum2
print(res)
# 方法3:
sum1 = 0
sum2 = 0
num = 0
while num <= 100 :
if num%4 != 0:
sum1 += num
num = num + 1
for num in range(4,101,4):
sum2 += num
sum = sum1 - sum2
print(sum)
print(sum1)
判断
案例1:编程实现,让用户输入三个整数,要求打印输出最大的和最小的数字
# 方法1:
# 让用户输入一个数字
num = int(input("请输入一个数字:"))
min = num # min中需要存储的是最小的数
max = num # max中需要存储的是最大的数
for num1 in range(1,3)
# 让用户输入一个数字
num1 = int(input("请输入一个数字:"))
if max < num1:
max = num1
if min > num1:
min = num1
print("最小的是%d, 最大的是%d" %(min,max))
print(max,min)
# 方法2:
list=[]
n=0
while n<=2:
num1 = int(input("请输入一个数字:"))
list.append(num1)
n += 1
print("最小的是:",max(list), "最大的是",min(list))
# 方法3:
# 定义空列表
list = []
# 通过for循环,让用户输入三个数字,并依次加入到列表中
for num in range(1,4):
userInput = input("请输入数字: ")
list.append(int(userInput))
# 输出列表中的所有的数
print(list)
# 输出列表中的最大的数
print(max(list))
# 输出列表中的最小的数
print(min(list))
案例2:编程实现,让用户输入一个字符串:判断您输入的字符串分别有几个字符'a'和'b'
userInput = input("请输入一句话: ")
m=0
n=0
for char in userInput:
if char == 'a':
m += 1
elif char == 'b':
n += 1
print("a的个数%d b的个数%d" %(m,n))
案例3:重复让用户输入一个单词,直到用户输入bye才退出,统计一下,用户一共输入了多少个单词'
# 方法1
import sys
n = 0
while True:
userInput = input("请输入:")
if userInput = "bye":
print("您一共输入了%d个单词"%(n))
sys.exit(0)
else:
n+=1
# 方法2:
n = 0
while True:
userInput = input("请输入:")
if userInput == "bye":
print("您一共输入了%d个单词"%(n+1))
break
else:
n+=1
# 方法3:
n = 1
userInput = input("请输入:")
while userInput != "bye":
n +=1
userInput = input("请输入:")
else:
print("你一共输入了%d个单词" %n)
案例3:判断用户输入的内容中是否有c?
如果有,就提示有c,并终止程序
如果没有,就提示无c,并要求用户重新输入,而且最多输入3次
# 方法1:
n = 1
while n<=3:
userInput = input("请输入一些一段字符:")
n += 1
for char in userInput:
if char=="c":
print("存在c")
n = 4
break #只可以跳出一层循环
else:
print("没有c,请重新输入")
# 方法2:
n = 1
while True:
if n>3:
break
n += 1
userInput = input("请输入一段字符:")
if "c" in userInput :
print("存在c")
break #只可以跳出一层循环
else:
print("没有c,请重新输入")
# 方法3:
for n in range(3):
num = input("请输入一些一段字符")
if "c" in num:
print("存在c")
break
else:
print("无c")
案例4:编程实现,将字符串abc123转换成321cba
# 方法1:
s = "abc123"
s= reversed(s)
for var in s:
print(var,end="")
print()
# 方法2
s = "abc123"
s= reversed(s)
li = list(s)
s = "".join(li)
print(s)
# 方法3
s = "abc123"
li = list(s)
li.reverse()
s = "".join(li)
print(s)
# 方法4
s1 = ""
s = "abc123"
li = list(s)
s1 += li.pop()
s = s1
print(s)
# 方法5
s = "abc123"
l =len(s)
n=-1
for i in range(l):
print(s[n],end="")
n -= 1
print("")
图像效果
案例1:九九乘法表:
# 方法1:
i= 1
while i <= 9:
j = 1
while j <= i:
print("%d*%d=%d" %(j,i,i*j),end=' ')
j += 1
print()
i += 1
# 方法2:
for i in range(1,10):
for j in range(1,i+1):
print("%d*%d=%d" %(i,j,i*j),end=' ')
print()
# 方法3:
for n in range(1,10):
for m in range(1,10):
if m <= n:
print("%d*%d=%d"%(m,n,m*n),end=" ")
else:
print("")
break
案例2:编程实现,用程序打印效果:
* ** *** **** *** ** *
# 方法1:
n=1
m=4
while n<=5:
print("*"*n)
n+=1
while m>=1:
print("*"*m)
m-=1
# 方法2:
for i in range(9):
print("*"*i)
for a in range(9,0,-1):
print("*"*a)
# 方法3
m = 1
n = 4
while True:
if m <= 5:
print("*"*m)
elif n>=1:
print("*"*n)
n -= 1
else:
break
m += 1
案例3:编程实现,用程序打印效果:
*
**
***
****
*****
****
***
**
*
方法1:
m=5
j=1
for n in range(1,6):
print(" "*(m-1), end="")
print("*"*n)
m-=1
for i in range(5,0,-1):
print(" "*j, end="")
print("*"*(i-1))
j+=1
方法2:
m = 5
n = 1
while n <= 5:
print(" " * (m - 1), end="")
print("*" * n)
n += 1
m -= 1
i = 4
j = 1
while i >= 1:
print(" " * j, end="")
print("*" * i)
j += 1
i -= 1
# 方法3:
start_num = 1
start_num_bottom = 4
for num in range(1,10):
if num<=5:
print(" "*(5-start_num),end="")
print("*"*(start_num))
start_num += 1
else:
print(" "*(5-start_num_bottom),end="")
print("*"*(start_num_bottom))
start_num_bottom -= 1
案例4:编程实现,让用户输入行数和高度,打印一个矩形方框:
########## # # # # # # ##########
# 方法1:
w = int(input("请输入整数:"))
h = int(input("请输入整数:"))
for i in range(w):
for j in range(h):
if i == 0 or i ==w-1 or j == 0 or j ==h-1:
print('#', end='')
else:
print(' ',end='')
print()
# 方法2:
height = int(input("请输入高度:"))
weidth = int(input("请输入宽度:"))
n = 1
while n<=height:
if n == 1 or n == height:
print("#"*weidth)
elif n>1 and n
案例5:编程实现,实心等腰三角形:
# 方法1:
n = int(input("请输入要打印的行数"))
i = 1
while i <= n:
j = 1
while j <= n-i:
print(" ",end="") # 打印n-i个空格
j += 1
k = 1
while k <= 2*i-1:
print("*",end="") # 打印2i-1个星号
k += 1
print("") # 换行
i += 1
# 方法2:
for i in range(1,5): # 等腰三角形
for j in range(1,5-i):
print(' ', end=' ')
for k in range(2*i-1):
print('*', end=' ')
print()
案例6:编程实现,空心等腰三角形:
n = int(input("请输入要打印的行数"))
i = 1
while i <= n:
j = 1
while j <= n - i:
print(" ",end="") # 打印n-i个空格
j += 1
k = 1
while k <= 2*i-1:
if k == 1 or k == 2*i-1 or i == n: # 当k等于1或2i-1(第一个或最后一个)或i等于n(最后一行)时打印星号
print("*",end="")
else:
print(" ",end="") # 否则打印空格
k += 1
print("")
i += 1
python应用实际
案例1:编程实现,一球从100米高度自由落下,每次落地后反跳回原高度的一半;再落下,求它在第10次落地时,共经过多少米?第10次反弹多高
# 方法1:
print(100*0.5**10)
sum = 0
for num in range(0,10):
n = num + 1
sum = sum + 100*0.5**num + 100*0.5**n
print(sum)
# 方法2:
sum = 0
h = 100
for num in range(1,4):
if num == 1:
sum = h + sum
else:
sum = h*2 + sum
h = h*0.5
print(sum)
案例2:编程实现,实现用户输入用户名和密码,当用户名为 seven 且 密码为 123 时,显示登陆成功,否则登陆失败,失败时允许重复输入三次
# 方法1
n = 1
while True:
# 判断用户是否已经输入了三次
if n > 3:
print("你已经输入了3次,再见")
break
# 如果不到三次,就让n加1
n += 1
# 让用户输入,并判断
uName = input("用户名: ")
uPass = input("密 码: ")
if uName == "alex" or uName == "seven":
if uPass == "123":
print("登录成功")
break
else:
print("登录失败")
else:
print("登录失败")
# 方法2
n = 1
while n<=3:
# 如果不到三次,就让n加1
n += 1
# 让用户输入,并判断
uName = input("用户名: ")
uPass = input("密 码: ")
if uName == "alex" or uName == "seven":
if uPass == "123":
print("登录成功")
break
else:
print("登录失败")
else:
print("登录失败")
# 方法3
n = 1
while n<=3:
# 如果不到三次,就让n加1
n += 1
# 让用户输入,并判断
uName = input("用户名: ")
uPass = input("密 码: ")
if (uName == "alex" and uPass == "123") or (uName == "seven" and uPass == "123"):
print("登录成功")
else:
print("登录失败")
# 方法4
n = 1
nameList = ["seven","alex"]
while n<=3:
# 如果不到三次,就让n加1
n += 1
# 让用户输入,并判断
uName = input("用户名: ")
uPass = input("密 码: ")
# 判断用户名是否存在
if uName in nameList:
# 判断密码是正确
if uPass == "123":
print("登录成功")
break
else:
print("登录失败")
else:
print("登录失败")
案例3:
让用户输入账户余额
自动打印商品名称和价格,
判断余额:
如果余额不足,则提示,并退出
同时计算余额是否可以购买至少一个产品,让用户输入产品编号和数量
要求可以实现在买了一个产品后可以继续购买其他产品
# 方法1:
money = int(input("请输入你有多少钱:"))
priceList = [10.5,20.3,5.2]
print("1. 足球:10.5")
print("2. 篮球:20.3")
print("3. 排球:5.2")
print("q. 退出购买")
zongjiage = 0
while True:
if money < min(priceList):
print("真穷,再见")
break
choice = input("请选择商品:")
nums = int(input("请输入数量:"))
if choice == "q":
print("再见")
break
elif choice == "1":
zongjiage = 10.5 * nums
elif choice == "2":
zongjiage = 20.3 * nums
elif choice == "3":
zongjiage = 5.2 * nums
else:
print("输入错误,没有这个商品,请重新输入")
continue
if money >= zongjiage:
print("购买成功")
money = money - zongjiage
print("余额是%f"%(money))
else:
print("你的钱不够")
break
# 方法2:
import sys
userInput = float(input("输入账户余额: "))
price = ["", 4.8 , 3.8 , 2 , 4288]
while True:
if userInput >= price[3]:
print("*" * 30, "n""商品1.瓜子:4.8元""n""商品2.花生:3.8""n""商品3.矿泉水:2元""n""商品4.3060显卡:4288元")
print("*" * 30)
commodity_number = input("输入商品编号(输入q退出):")
commodity_number1 = input("请输入商品数量(输入q退出):")
if commodity_number == "q" or commodity_number1 == "Q":
print("欢迎下次光临")
sys.exit()
elif float(commodity_number) < 1 or float(commodity_number) > 4:
print("没有该件商品")
continue
elif price[int(commodity_number)]*(float(commodity_number1)) > userInput:
print("您的余额不足以购买此商品")
continue
else:
print("购买成功!")
userInput = userInput - float(commodity_number1) * price[int(commodity_number)]
userInput_1 = input("余额还有%.2f,是否继续购买Y|N:"%(userInput))
if userInput_1 == "y" or userInput_1 == "Y":
continue
if userInput_1 == "N" or userInput_1 == "n":
print("欢迎下次光临")
sys.exit()
else:
print("余额不足够购买任意商品")
sys.exit(1)
案例4:
让用户输入个人基本信息,包括 姓名、电话、住址、年龄,通过字典保存用户的数据信息,当用户输入q的时候,结束输入
结束输入后,打印显示全部的用户名,并要求选择一个名称
然后打印输出这个用户的全部信息,输出信息的格式:用户 xxx,电话是xxx,地址是xxx,年龄是xxx
import sys
d1 = {}
li = []
while True:
name = input("请输入姓名或者按Q退出:")
name = name.lower()
if name == "q":
break
phoneNum = input("请输入电话: ")
userAge = input("请输入年龄: ")
homeAddr = input("请输入地址: ")
d1[name] = {"tel":phoneNum, "addr":homeAddr ,"age":userAge}
li.append(name)
n = 1
print("================请根据菜单选择姓名=====================")
for uname in li:
print("%d %s"%(n,uname))
n += 1
print("输入q退出:")
userInput = input("请选择:")
if userInput == "q":
sys.exit(0)
userInput = int(userInput)
uname = li[userInput - 1]
age = d1[uname]["age"]
addr = d1[uname]["addr"]
tel = d1[uname]["tel"]
print("用户%s,电话是%s,地址是%s,年龄是%s"%(uname,tel,addr,age))



