总结
-
顺序
由左到右,自上而下执行的!!!
python的脚本,总执行流程,总是如此的 -
选择结构:
单分支:python是一门强制缩进语言,如果出现了子集,一定要缩进
if 条件:
# 如果条件成立,则执行缩进后的代码
单分支,只能判断一种情况下的问题
双分支:
if 条件:
# 如果条件成立,则执行if中的代码
else:
# 如果条件不成立,则执行这儿(else)的代码
多分支:
if 条件1:
# 如果条件1成立,则执行if中的代码
elif 条件2:
# 如果条件1成立,则执行这儿的代码
elif 条件3:
# 如果条件1成立,则执行这儿的代码
……
else:
# 剩余情况,执行这儿的代码
注意:python是没有switch语句 -
循环结构
在程序中,我们要拒绝哪怕两行代码的重复!!!
while循环 条件: 执行循环体
如果需要终止循环的时候,break关键字终止
break关键字:
终止离它最近的一层循环
continue关键字
跳过本次循环,进入下次循环(之后判断条件)for循环
python的for循环,本质是一种for in结构的foreach循环,也就是是一种迭代结构
python提供的for循环,想法就是用来迭代可迭代对象(Iterable)的数据的遍历的。
for 临时变量 in Iterable:
每一次迭代的结果会保存在这个临时变量中
print(临时变量)
range函数
range(num) # 一个可以迭代的整数数据区间 [0, num)
range(start, end) # 一个可以迭代的整数数据区间 [start, end)第四天作业
作业1:计算器:请输入两个数和一个符号,完成两个数的+ - * / % // **
num1 = float(input(‘请输入第一ge数:’))
num2 = float(input(‘请输入第二ge数:’))
fh = input(‘请输入所运算的符号’)
if fh == ‘+’:
print(num1 + num2 )
elif fh == ‘-’:
print(num1 - num2 )
elif fh == ‘*’:
print(num1 * num2 )
elif fh == ‘/’: num2 )
elif fh == ‘%’:
print(num1 % num2 )
elif fh == ‘**’:
print(num1 ** nu
print(num1 /m2 )
elif fh == ‘//’:
print(num1 // num2 )
作业2:设计一个程序,完成(英雄)商品的购买
展示商品信息(折扣)->输入商品价格->输入购买数量->提示付款
输入付款金额->打印购买小票(扩展)
#print(‘英雄商城英雄列表’)
print(’\t********~\n’)
print(’\t编号 姓名 昵称 价格 库存 打折\n’)
print(’\t 1 纳尔 迷失之牙 3500 100 90\n’)
print(’\t 2 锐雯 放逐之刃 4000 100 85\n’)
print(’\t 3 薇恩 暗夜猎手 3500 100 90\n’)
print(’\t 4 扎克 生化魔人 3000 100 95\n’)
print(’\t 5 杰斯 未来守护者 2500 100 /\n’)
yx = int(input(‘请输入您所要购买英雄的编号:’))
if yx == 1:
print(‘您所需支付的价格是3150,请支付,谢谢!!’)
elif yx == 2:
print(‘您所需支付的价格是3400,请支付,谢谢!!’)
elif yx == 3:
print(‘您所需支付的价格是3150,请支付,谢谢!!’)
elif yx == 4:
print(‘您所需支付的价格是2850,请支付,谢谢!!’)
elif yx == 5:
print(‘您所购买的英雄不打折,请您全额支付,谢谢!!’)
money = int(input(‘请支付所需要支付的金额:’))
print(’\t\t\t支付成功,感谢您的购买,欢迎下次购买\n’)
print(‘正在打印小票,请稍后…\n’)
作业3:健康计划
用户输入身高(m),体重(kg)
计算公式:BMI = 体重 / 身高^2
BMI < 18.5:过轻
18.5≤ BMI <24:正常
24 ≤ BMI <27:过重
27 ≤ BMI < 30:轻度肥胖
30 ≤ BMI < 35:中度肥胖
BMI ≥ 35:重度肥胖
Sg = float(input(‘请输入您的身高:’))
Kg = float(input(‘请输入您的体重:’))
Bmi = Kg / (Sg*Sg)
print(‘你的健康指数Bmi=’,Bmi)
if Bmi < 18.5:
print(‘过轻’)
elif Bmi >= 18.5 and Bmi < 24:
print(‘正常’)
elif Bmi >= 24 and Bmi < 30:
print(‘轻度肥胖’)
elif Bmi >= 30 and Bmi < 35:
print(‘中度肥胖’)
elif Bmi >= 35:
print(‘过度肥胖’)
作业4:
*
**
***
****
*****
******
cs = int(input(‘请输入层数:’))
index_1 = 1
while index_1 <= cs:
index_2 = 0
while index_2 < index_1:
print("*",end=’’)
index_2 += 1
print(’’)
index_1 += 1
作业5:输入数,判断这个数是否是质数
Num = int(input(“请输入数字:”))
i = 2
while i <Num:
if Num % i == 0 :
print(Num,“不是质数”)
break
else :
i += 1
if i == Num:
print(Num,“是质数”)
作业6:让用户输入一个月份,判断这个月是哪个季节?假定3到
4月是春季,5到8月是夏季,9到10是秋季,11、12、1、2
月是冬季
#season = int(input(‘请输出月份:’))
if season == 3 or season == 4:
print(season,‘月是春季’)
elif 5 <= season <= 8:
print(season,‘月是夏季’)
elif 9 <= season <= 10:
print(season,‘月是秋季’)
else:
print(season,‘月是冬季’)
作业7:提示用户输入用户名,然后再提示输入密码,如果用户名
是“admin”并且密码是“88888”,则提示正确,否则,如果
用户名不是admin还提示用户用户名不存在,如果用户名是
admin则提示密码错误。
while ‘Ture’:
user = input(‘请输入用户名:’)
if user != ‘admin’:
print(‘用户名错误,请重新输入用户名,谢谢!’)
elif user == ‘admin’:
print(‘用户名正确,请输入密码’)
break
while ‘Ture’:
passwd = input(‘请输入密码:’)
if passwd != ‘88888’:
print(‘密码错误,登陆失败!’)
elif passwd == ‘88888’:
print(‘密码正确,登陆成功’)
break
作业8:有一些四位数,百位数字都是3,十位数字都是6,并且它们既能被2整除,又能被3整除,求这样的四位数中最大的和最小的两数各是几?
Num = 1000
while Num < 10000:
a = Num // 100 % 10
b = Num // 10 % 10
if a == 3 and b==6 and Num % 6 == 0:
print(Num)
Num += 1
作业9:编程求一个四位自然数ABCD,它乘以A后变成DCBA
方法一:while循环:
Num = 1000
while Num < 10000:
A = Num//1000 % 10
B = Num//100 % 10
C = Num//10 % 10
D = Num % 10
if Num * A == (D1000+C100+B*10+A):
print(Num)
Num += 1
方法二:for 循环:
Num = range(1000,10000)
for i in Num:
A = int(i/1000) % 10
B = int(i/100) % 10
C = int(i/10) % 10
D = i % 10
if i * A == (D1000+C100+B*10+A):
print(i)
作业10:用户输入两个数a、b。如果a能被b整除或a加b大于1000,则输出a;否则输出b。
#Num1 = int(input(‘a=’))
Num2 = int(input(‘b=’))
if Num1 // Num2 or Num1 +Num2 > 1000:
print(Num1)
else:
print(Num2)
作业11:输入赵本山的考试成绩,显示所获奖励
成绩==100分,爸爸给他买辆车
成绩>=90分,妈妈给他买MP4
90分>成绩>=60分,妈妈给他买本参考书
成绩<60分,什么都不买
#score = int(input(‘请输入赵本山的考试成绩:’))
if score == 100:
print(‘爸爸给他买辆车’)
elif score >= 90:
print(‘妈妈给她买MP4’)
elif 90 > score > 60:
print(‘妈妈给他买本参考书’)
elif score < 60:
print(‘什么也不给他买’)
作业12:请输入一个数,判断这个数是偶数还是奇数,如果使用偶数,请判断从1到该数是3的倍数有哪些,如果是奇数,请判断从1到该数是5的倍数有哪些
num=int(input(“请输入一个数:”))
i = 1
if num % 2 == 0:
print(“这是一个偶数”)
while i <= num:
if i % 3 == 0:
print(i)
i += 1
elif num % 2 != 0:
print(“这是一个奇数”)
while i <= num:
if i % 5 == 0:
print(i)
i += 1
作业13:输入三边的长度,求三角形的面积和周长(海伦公式)
#a = float(input(‘a=’))
b = float(input(‘b=’))
c = float(input(‘c=’))
if a+b>c and a+c>b and b+c>a:
print(‘三角形的周长:’,(a+b+c))
p = (a+b+c) / 2
s = (p*(p-a)(p-b)(p-c))**0.5
print(‘三角形的面积:’,s)
else:
print(‘不构成三角形’)
作业14:某商店T恤的价格为35元/件(2件9折,3件以上8折),裤子的价格为120 元/条(2条以上9折).小明在该店买了3件T恤和2条裤子,请计算并显示小明应该付多少钱?
print(‘衣服列表’)
print(’\t*****’)
print(’\t 编号 物 品 价格 \n’)
print(’\t 1 t恤 35元 \n’)
print(’\t 2 裤子 120元 \n’)
print(‘t恤 买两件打9折,买三件打8折’)
print(‘裤子 买两件打9折’)
Tx = 35
Kz = 120
a = Tx30.8
b = Kz20.9
print(‘小明买了三件T恤和两件裤子一共要花多要钱:’,a+b)
作业15:鸡兔同笼,从上面看有35个头,从下面看有94只脚,请问鸡有几只,兔有几只?
#chicken = 1
while chicken <= 35:
duck =1
while duck <= 35:
if(chicken+duck35) and (2chicken+4duck94):
print(‘chicken=’,chicken)
print(‘duck=’,duck)
duck += 1
chicken += 1
第五天作业
作业1:猜数字游戏(明天做)
电脑随机一个范围内的数,用户输入数据判断,
如果数大了,提供”数大了“
成功之后,加上用户是否继续功能
import random as a
i = a.randint(0,100)
while True:
num = int(input(‘请输入您要猜的数字:’))
if num == i:
print(‘恭喜您,猜对了!’)
break
elif num > i:
print(‘您输入的数字大了!’)
else:
print(‘您输入的数字小了!’)
作业2:猜拳游戏:石头、剪刀、布的游戏
import random
print(‘石头剪刀布游戏开始!输入1代表石头、2代表剪刀、3代表布’)
a = int(input(‘请您输入的是:’))
while True:
i = random.randint(1,3)
if (a3 and i1)or(a1 and i2)or(a2 and i3):
print(‘恭喜您,猜拳胜利!’)
break
elif (a1 and i3)or(a3 and i2)or(a2 and i1):
print(‘很抱歉,您输了’)
break
elif a == i:
print(‘平局’)
break
作业3:(不会)
*
**
***
****
*****
******
*
***
*****
*******
*********
*********
*******
*****
***
*
*
***
*****
*******
*********
*******
*****
***
*
*
* *
* *
* *
* *
* *
* *
* *
*
*
***
* * *
* * *
*********
* * *
* * *
***
*
作业4、判断以下哪些不能作为标识符(B,D)
A、a
B、¥a
C、_12
D、$a@12
E、false
F、False
作业5:输入数,判断这个数是否是质数(for)
num = int(input(‘请输入一个数:’))
for i in range(2,num):
if num % i == 0:
print(‘不是质数’)
break
else:
print(‘是质数’)
作业6:求50~150之间的质数是那些?
flag = True
for num in range(50,150):
for i in range(2,num):
if num % i == 0:
flag = False
break
else:
flag = True
if flag == True:
print(num,‘是质数’)
作业7:打印输出标准水仙花数,输出这些水仙花数
方法一:
num = 100
while num < 1000:
a = num // 100
b = num // 10 % 10
c = num % 10
if num == (a3 + b3 + c**3):
print(num)
num += 1
方法二:
for n in range(100,1000):
i = n // 100
j = n // 10 % 10
k = n % 10
if n == i ** 3 + j ** 3 + k ** 3:
print(n)
作业8:验证:任意一个大于9的整数减去它的各位数字之和所得的差,一定能被9整除.
num = int(input(‘请输入一个100以内的整数:’))
方法一:
# num = range(10,100)
for i in num:
y=i // 10 % 10
z=i % 10
h=y+z
if (i -h) % 9 == 0:
print(“能被9整除”,end="")
break
方法二:
num=int(input(“请输入一个大于9的数(10~100):”))
while 10 <= num < 100:
y=num/10%10
z=num%10
h=y+z
if (num -h) %9==0:
print(“能被9整除”,end="")
break
num += 1
作业9:一个五位数,若在它的后面写上一个7,得到一个六位数A,若在它前面写上一个7,得到一个六位数B,B是A的五倍,求此五位数.
方法一:
num = 10000
while num < 100000:
A = num*10+7
B = 7*10**5+num
if B == A * 5:
print(num)
num += 1
方法二:
num = range(10000,100000)
for i in num:
A = i*10+7
B = 7*10**5+i
if B == A * 5:
print(i)
作业10:有一种最简真分数,它们的分子与分母的乘积都是140,把所有这样的真分数从小到大打印出来
#方法一:
for i in range(1,14):
for j in range(i,141):
if i*j==140:
print("%d/%d"%(i,j))
#方法二:
i = 1
while i < 14:
j = i
while j < 141:
if i * j == 140:
print("%d/%d"%(i,j))
j += 1
i += 1
作业11:某数被80除所得的商,不但是7的倍数,而且用2,3,4,5,6去除余数都是1,求这 个自然数.
#i = 1
while True:
a = i / 80
if a % 7 == 0 and a % 2 == 1 and a % 3 == 1 and a % 4 == 1 and a % 5 ==1 and a % 6 == 1:
print(i)
break
i += 1
作业12:编程求出满足以下条件的三位数:它除以11所得的商等于它各位数字之和
作业13:有一堆硬币,每次只能拿一个或者两个,求最少多少次可以拿完硬币
[10, 8, 5, 3, 27, 99]
作业14:在控制台上,输入如下信息
a a^2 a^3
1 1 1
2 4 8
3 9 27
#方法一:
num = range(1,4)
for i in num:
print(i,i2,i3)
#方法二:
i = 1
while i <= 3:
print(i,i2,i3)
i += 1
作业15:求1~100之间不能被3整除的数之和
#方法一:
num = range(1,100)
sum = 0
for i in num:
if i % 3 != 0:
sum += i
print(sum)
#方法二:
i = 1
sum = 0
while i < 100:
if i % 3 != 0:
sum += i
i += 1
print(sum)
作业16:给定一个正整数N,找出1到N(含)之间所有质数的总和
n = input(“请输入一个正整数:”)
if int(n) == 1:
print(“从1到1中所有质数的和为0”)
else:
sum = 2
for i in range(2, int(n) + 1):
for j in range(2,i):
if i % j == 0:
break
elif j == i-1:
sum = sum + i
print(“从1到{}中所有质数的和为{}”.format(n, sum))
作业17:在控制台上打印九九乘法表
#for i in range(1, 10):
for j in range(1, i+1):
print(f"{j}X{i} = {i * j}", end=" ")
print()
作业18:输入一个年份,判断该年是否是闰年
#a = 1
while a == 1:
year = int(input(‘请输入年份:’))
if year % 4 == 0 and year % 100 != 0 or year % 400 == 0:
print(year,‘是瑞年’)
else:
print(year,‘不是瑞年’)
a = int(input(‘输入1继续,输入0退出,请选择:’))
作业19:计算PI(公式如下:PI=4(1-1/3+1/5-1/7+1/9-1…)