if条件语句
使用input函数接收用户的输入,如果用户输入的整数是偶数,则使用print函数输出"你输入的 整数是:{value}, 它是偶数", {value}部分要替换成用户的输入。
# 单个条件分支
value = int(input('请输入一个数字:'))
if value % 2 == 0:
print('你输入的整数是{value},他是偶数' .format(value=value))
# if···else
value = int(input('请输入一个数字:'))
if value % 2 == 0:
print('你输入的整数是{value},他是偶数' .format(value=value))
else:
print('你输入的整数是{value},他是奇数'.format(value=value))
# 需要掌握的是以下几点:
1.input函数的运用
2.字符串类型转为int类型
3.取模运算
4.字符串格式化
# 多条件分支
使用input函数接收用户的输入数据,如果用户输入python,则输出90,如果用户输入java, 输出95,如果用户输入php,输出85,其他输入,程序输出0
value = input('请输入你的数据:')
if value == 'python':
print('90')
elif value == 'java':
print('95')
elif value == 'php':
print('85')
else:
print('0')
# 复杂条件判断
使用input函数接收用户的输入,如果输入的数据不可以转换成int类型数据,则输出写无法使用int函数转换,如果可以,则将用户的输入转成int类型数据并继续判断。# isdigit 判断数据是否是整数
如果输入数据是奇数,则将其乘以2并输出,如果是偶数,则判断是否能被4整除,如果可以 则输出被4整除后的值,若不能被4整数,则判断是否大于20,如果大于20则输出与20的差值,如果小于等于20,则直接输出该值
value = input('请输入数据:')
if not value.isdigit():
print('无法使用int转换')
else:
value = int(value)
if value % 2 != 0:
print(value * 2)
elif value % 4 == 0:
print(value // 4)
elif value > 20:
print(value - 20)
else:
print(value)
for循环
range函数基本使用
range(3, 20, 4) # 3,7,11,15,19
range(10, -3, -4) # 10 6 2 -2
range(10, 5,-1) # 10,9,8,7,6
range(2, 12) # 2,3,4,5,6,7,8,9,10,11
lst = [1, 3, 5, 2, 7, 9]
for index in range(len(lst)):
print(lst[index])
1. 参照上面的代码,从后向前遍历
lst = [1, 3, 5, 2, 7, 9]
for index in range(len(lst)-1,-1,-1):
print(lst[index])
# len(lst)是6 所以实际上是range(5,-1,-1),从5开始,到-1结束但不包含-1,步长是-1也就是 5,-1=4,3,2,1,0
2. 遍历输出列表里的所有偶数
lst = [1, 3, 5, 2, 7, 9]
for index in range(len(lst)):
if lst[index] % 2 == 0:
print(lst[index])
3. 遍历列表,输出大于3的奇数
lst = [1, 3, 5, 2, 7, 9]
for index in range(len(lst)):
if lst[index] % 2 != 0 and lst[index] > 3:
print(lst[index])
# 遍历字典的两种方法
# 方法一
dic = {
'python': 90,
'java': 95
}
for key in dic:
print(key, dic[key])
# 方法二
dic = {
'python': 90,
'java': 95
}
for key,values in dic.items():
print(key,values)
# 从列表中寻找一个偶数并输出 使用break中断循环
lst = [1, 3, 5, 2, 7, 9, 10]
for i in lst:
if i % 2 == 0:
print(i)
break
# 从列表中寻找最大值和最小值
# 最大值
lst = [3, 6, 1, 8, 1, 9 , 2]
for i in lst:
if i is max(lst):
print(i)
lst = [3, 6, 1, 8, 1, 9, 2]
max_value = lst[0]
for item in lst:
if item > max_value:
max_value = item
print(max_value)
# 最小值
lst = [3, 6, 1, 8, 1, 9, 2]
for i in lst:
if i is min(lst):
print(i)
break
# 最小偶数
min([i for i in lst if i % 2 == 0])
# 最大偶数
max([i for i in lst if i % 2 == 0])
# 寻找组合
lst1 = [3, 6, 1, 8, 1, 9, 2]
lst2 = [3, 1, 2, 6, 4, 8, 7]
for item1 in lst1:
for item2 in lst2:
if item1 + item2 == 10:
print((item1, item2))
上面的代码利用嵌套循环,从两个列表里各取1个数,如果这两个数的和等于10,则以元组的 方式输出这两个数
1.参照上面的代码,寻找两个数的差的绝对值等于2的组合
lst1 = [3, 6, 1, 8, 1, 9, 2]
lst2 = [3, 1, 2, 6, 4, 8, 7]
for i1 in lst1:
for i2 in lst2:
if abs(i1 - i2) == 2:
print((i1,i2))
2. 两个列表里各取出—个值,item1和item2,请计算item1*item2的最大值
lst1 = [3, 6, 1, 8, 1, -999, 2]
lst2 = [3, 1, 2, 6, 4, -888, 7]
lst3=[]
for i1 in lst1:
for i2 in lst2:
lst3.append(i1*i2)
print(max(lst3))
while循环
# 使用input函数接收用户输入的整数,如果输入的是偶数,输出'你输入的是一个偶数',反之输出'你输入的是一个奇数'。可以多次输入,知道输入quit时退出程序。
while True:
i_str = input('请输入一个数字:')
if i_str == 'quit':
break
i = int(i_str)
if i % 2 == 0:
print('偶数')
else:
print('奇数')
'''
已知 lst = [2, 3, 4]
依次要求用户输入2,3,4 的整数倍,先让用户输入2的倍数,如果用户输入的正确,输
出“输入正确”,否则输出 “输入错误”,如果用户输入quit,则停止当前的输入,让用户输入3 的倍数,输入3的倍数的过程中,如果用户输入quit,则让用户输入4的倍数
'''
lst = [2, 3, 4]
for i in lst:
while True:
i_str = input('请输入{number}的整数倍,输入quit退出:'.format(number=i))
if i_str == 'quit':
break
number = int(i_str)
if number % i == 0:
print('输入正确')
else:
print('输入错误')
continue的用法
# break是跳出循环体,continue是跳过continue语句后面的代码块,循环并不停止。
'''
使用input函数接受用户的输入,如果用户输入的数值小于等于10,则判断是奇数还是偶数, 如果数值大于10,则输出“输入大于10,不判断奇偶”,用户输入quit,结束程序
'''
# 不使用continue
while True:
i_str = input('请输入一个数字,输入quit退出:')
if i_str == 'quit':
break
i = int(i_str)
if i <= 10:
if i % 2 == 0:
print('偶数')
else:
print('奇数')
else:
print('输入的数字大于10,不判断奇偶')
# 使用continue
while True:
i_str = input('请输入一个数字,输入quit退出:')
if i_str == 'quit':
break
i = int(i_str)
if i > 10 :
print('输入的数字大于10,不判断奇偶')
continue
if i % 2 == 0:
print('偶数')
else:
print('奇数')
# 对比发现,不使用continue的代码嵌套层次深,让代码变得难以阅读,不宜管理。
# 但使用continue就可以减少代码层次,代码的理解和管理变得更容易,大于10时,直接跳过后面的代码,显得思路更清晰。