1、华氏温度转摄氏温度【提示:将华氏温度转换为摄氏温度 F = 1.8C + 32】
h = 77
c = (h -32) / 1.8
print("摄氏温度:",c)
2.从控制台输入圆的半径,计算周长和面积
PI = 3.14
r = float(input("请输入圆的半径:\n"))
zc = 2 * PI * r
mj = PI * r * r
print("圆的周长:%.2f \n圆的面积:%.2f" % (zc,mj))
3.一辆汽车以40km/h的速度行驶,行驶了45678.9km,求所用的时间
sd = 40
lc = 45678.9
time = lc / sd
print("所用时间:",time)
4.从控制台输入两个数,输出较大的值
a = int(input("请输入一个整数:\n"))
b = int(input("请输入第二个整数:\n"))
print("那个较大的值是:")
if a > b:
print(a)
else:
print(b)
5.模拟玩骰子游戏,根据骰子点数决定什么惩罚【例如:1.跳舞,2.唱歌…】
# 1 2 3 4 5 6
#
dianShu = int(input("请输入得到的点数:\n"))
if dianShu > 0 and dianShu < 7:
if dianShu == 1:
print("跳舞")
elif dianShu == 2:
print("唱歌")
else:
print("讲鬼故事")
else:
print("点数无效")
6.从控制台输入三个数,输出较大的值
a = int(input("第一个:"))
b = int(input("第二个:"))
c = int(input("第三个:"))
max = a
if b > max:
max = b
if c > max:
max = c
print("最大的是:",max)
7.从控制台输入一个三位数,如果是水仙花数就打印“是水仙花数”,否则打印“不是水仙花数”
#例如:153=1^3+5^3+3^3
a = 153
gw = a % 10
bw = a // 100
sw = a // 10 % 10
print(bw,sw,gw)
if a == gw ** 3 + sw ** 3 + bw ** 3:
print("是水仙花数")
else:
print("不是水仙花数")
8.输出1000以内的所有水仙花数:
水仙花数:一个三位数各个位上的立方之和,等于本身。
例如: 153 = 1(3) + 5(3)+ 3(3) = 1+125+27 = 153
num = 1
while num < 1000:#此处判断的是num是不是水仙花数
if num > 99:
bw = num // 100
sw = num // 10 % 10
gw = num % 10
#print(bw,sw,gw)
if num == bw ** 3 + sw ** 3 + gw ** 3:
print("--",num)
num += 1
9、五位数中,对称的数称为回文数,打印所有的回文数并计算个数例如:12321
num = 10000
count = 0
while num <= 99999:
#判断num是不是回文数
wan = num // 10000
qian = num // 1000 % 10
bai = num // 100 % 10
shi = num // 10 % 10
ge = num % 10
if wan == ge and qian == shi:
print(num)
count += 1
num += 1
print("回文数的个数是:",count)
10、实现一个个人所得税计算器【提示:输入月收入和五险一金,计算个人所得税】
#11000 120 11000-120-5000 * 0.08
gz = float(input("请输入您的工资:"))
bl = float(input("请输入五险一金的比例"))
#假设扣税比例是0.03
sds = (gz - gz * bl - 5000) * 0.03
print("您的应缴税:",sds)
11、.假设用户名为admin,密码为123abc,从控制台分别输入用户名和密码,如果和已知用户名和密码都匹配上的话,则验证成功,否则验证失败
name = input("请输入您的用户名:\n")
pw = input("请输入密码:\n")
if name == "admin" and pw == "123abc":
print("验证成功")
else:
print("验证失败")
1.2根据(1-7)的数值不同。打印对应的星期中文
day = int(input("请输入一个1---7的数字"))
if day > 0 and day < 8:
if day == 1:
print("星期一")
elif day == 2:
print("星期二")
elif day == 3:
print("周过半")
else:
print("星期后")
else:
print("你输入的真的不是1--7")
13、.x 为 0-99 取一个数,y 为 0-199 取一个数,如果 x>y 则输出 x, 如果 x 等于 y 则输出 x+y,否则输出y
x = 66
y = 88
if x > y:
print(x)
elif x == y:
print(x + y)
else:
print(y)
14.计算1到100以内能被7或者3整除但不能同时被这两者整除的数的个数
count = 0
num = 1
while num <= 100:
if (num % 7 == 0 or num % 3 ==0) and not (num % 3 == 0 and num % 7 ==0):
count += 1
num += 1
print("个数:",count)
15.计算从1到100以内所有奇数的和
sum = 0
num = 1
while num <= 100:
if num % 2 != 0:
sum += num
num += 1
print("奇数和:",sum)
16.计算从1到100以内所有能被3或者17整除的数的和并输出
sum = 0
num = 1
while num <= 100:
if num % 3 == 0 or num % 17 == 0:
sum += num
num += 1
print("从1到100以内所有能被3或者17整除的数的和:",sum)
17.求1–100之间可以被7整除的数的个数
count = 0
num = 1
while num <= 100:
if num % 7 == 0:
count += 1
num += 1
print("1--100之间可以被7整除的数的个数:",count)
18、.计算1到500以内能被7整除但不是偶数的数的个数
count = 0
num = 1
while num <= 500:
if num % 7 == 0 and num % 2 != 0:
count += 1
num += 1
print("1到500以内能被7整除但不是偶数的数的个数:",count)
19.计算从1到1000以内所有能同时被3,5和7整除的数的和并输出
sum = 0
num = 1
while num <= 1000:
if num % 3 == 0 and num % 5 == 0 and num % 7 == 0:
sum += num
num += 1
print("从1到1000以内所有能同时被3,5和7整除的数的和:",sum)
20.输出9行内容,第1行输出1,第2行输出12,第3行输出123,以此类推,第9行输出123456789
"""
1
12
123
1234
12345
"""
hang = 1
while hang <= 9:
lie = 1
while lie <= hang:
print(lie,end="")
lie += 1
print()
hang += 1
21、打印六行七列的三角形
""".打印图形
*
***
*****
*******
六行七列
1 3
3 2
4 1
6 0
"""
hang = 1
while hang <= 6:
if hang == 2 or hang == 5:
print()
else:
if hang == 1:
print(" " * 3,"*",end="")
elif hang == 3:
print(" " * 2, "*" * 3, end="")
elif hang == 4:
print(" " * 1, "*" * 5, end="")
else:
print(" " * 0, "*" * 7, end="")
print()
hang += 1
22、打印实心菱形
"""
打印实心菱形
*
***
*****
*******
*****
***
*
七行七列
1 3 1
2 2 3
3 2 5
4 0 7
5 5 2 * (7-hang) +1
6 3
7 1
"""
hang = 1
while hang <= 7:
if hang < 5:
print(" " * (4 - hang),"*" * (hang * 2 - 1),end="")
else:
print(" " * (hang - 4),"*" * (2 * (7-hang) +1),end="")
print()
hang += 1
23、打印空菱形
"""
打印空心菱形
*
* *
* *
* *
* *
* *
*
1 4
2 3 5
3 2 6
4 1 7
5 2 6
6 3 5
7 4
"""
hang = 1
while hang <= 7:
lie = 1
while lie <= 7:#完成本行内容的打印
if (hang == 1 or hang == 7) and lie == 4 or (hang == 2 or hang ==6) and (lie == 3 or lie == 5) or (hang == 3 or hang ==5) and (lie == 2 or lie == 6) or (hang == 4 and (lie == 1 or lie == 7)):
print("*",end="")
else:
print(" ",end="")
lie += 1
print()#本行结束 回车
hang += 1#这行结束 进行下一行
1.3000米长的绳子,每天减一半,问多少天这个绳子会小于5米?不考虑小数
sc = 3000
day = 0
while sc > 5:
sc = sc / 2
day += 1
print("多少天:",day)
24、打印等腰三角形
"""
1.打印图形
*
***
*****
*******
===*
==***
=*****
*******
"""
#四行七列
range1 = range(1,5)
range2 = range(1,8)
for hang in range1:
for lie in range2:
if lie > 4 - hang and lie <= hang + 3:
print("*",end="")
else:
print(" ",end="")
print()
"""
1.打印图形
*
***
*****
*******
===*
==***
=*****
*******
"""
#四行
hang = 1
while hang <= 4:
print(" "*(4 - hang),"*" * (hang * 2 - 1),end="")
print()
hang += 1
24、.从键盘输入一个数n,判断是不是一个质数(质数是只能被1和它自身整除的数)
#素数
n = int(input("请输入一个大于1的整数:"))
# 2---n-1 都整除不了 只要有一个整除就结束了
# (2,n)
range1 = range(2,n)
bs = True #这个标志是标识这个数是不是质数
for num in range1:
if n % num == 0:
bs = False
break
if bs:
print("%d 是一个质数" % (n))
else:
print("%d 不是一个质数" % (n))
25、求2〜100之内的素数。【素数 : 只能被1或本身整除的数】
range1 = range(2,100)
#定义一个标识 来记录这个数是不是质数
for n in range1:
bs = True
range2 = range(2,n)
for num in range2:
if n % num == 0:#说明有数被除尽 进一步说明这个数不是质数
bs = False
break#停止这个循环 因为后面做的已经没意义了
if bs:#出了循环如果没有改变标识 说明都没除尽 进一步说明这个数是质数
print(n)
26、.优化猜数字游戏
计算机出一个1~100之间的随机数由人来猜
计算机根据人猜的数字分别给出提示大一点/小一点/猜对了,这个过程可以循环进行
当进行5次以上还猜不对的话,则打印:智商余额不足
import random
range1 = range(1,100)
sjs =random.choice(range1);
print(sjs)
#循环的条件是在范围内
#使用随机数跟边界值比较
# = start = end
# 1 2 3 4 5
count = 1
while True:
if count > 5:
print("下次再来。。。。。这个游戏不好玩")
break
caiDeShu = int(input("请输入您猜的值:"))
if caiDeShu > sjs:
print("大了")
elif caiDeShu < sjs:
print("小了")
else:
print("恭喜你猜对了")
break
count += 1
27、.逐一显示列表l1 = [“Sun”,“Mon”,“Tue”,“Wed”,“Thu”,“Fri”,“Sat”]中索引为奇数的元素
l1 = ["Sun","Mon","Tue","Wed","Thu","Fri","Sat"]
len1 = len(l1)
range1 = range(1,len1,2)
for num in range1:
print(l1[num],end=",")
28、.将属于列表l1 = [“Sun”,“Mon”,“Tue”,“Wed”,“Thu”,“Fri”,“Sat”],
但不属于列表l2 = [“Sun”,“Mon”,“Thu”,“Fri”,“Sat”]的所有元素定义为一个新列表l3
l1 = ["Sun","Mon","Tue","Wed","Thu","Fri","Sat"]
l2 = ["Sun","Mon","Thu","Fri","Sat"]
l3 = []
print(l1)
print(l2)
#先遍历l1 遍历过程中判断值是否在l2中存在 如果不存在 加到l3里面
for num in l1:
if num not in l2:
l3.append(num)
print(l3)
29、.已知列表namelist=[‘stu1’,‘stu2’,‘stu3’,‘stu4’,‘stu5’,‘stu6’,‘stu7’],
删除列表removelist=[‘stu3’, ‘stu7’, ‘stu9’];
请将属于removelist列表中的每个元素从namelist中移除(属于removelist,但不属于namelist的忽略即可);
namelist=['stu1','stu2','stu3','stu4','stu5','stu6','stu7']
removelist=['stu3', 'stu7', 'stu9']
print(namelist)
print(removelist)
#将删除的元素在原列表中进行判断 如果存在就删除
for name in removelist:
if name in namelist:
namelist.remove(name)
print(namelist)
30、.自定义一个数字列表,获取这个列表中的最小值,并将列表转化为元组
list1 = [1,2,33,44,32,23]
print(list1)
print(min(list1))
tuple1 = tuple(list1)
print(tuple1)
31.自定义一个数字列表,元素为10个,找出列表中最大数连同下标一起输出
list1 = [1,23,33,21,23,32,333,321,23,88]
max = max((list1))
index = list1.index(max)
print("最大数:%d 下标:%d" % (max,index))
32.自定义一个数字列表,求列表中第二大数的下标
import copy
list1 = [1,2,33,23,222,33,22]
list2 = copy.copy(list1)
print(list1)
print(list2)
list2.sort(reverse=True)
print(list1)
print(list2)
secmax = list2[1]
xiabiao = list1.index(secmax)
print(xiabiao)
33.B哥去参加青年歌手大奖赛,有10个评委打分,(去掉一个最高分一个最低分)求平均分
dafen = [87,77,47,38,49,99,1,29,70,80]
print(dafen)
max = max(dafen)
min = min(dafen)
dafen.remove(max)
dafen.remove(min)
print(dafen)
sum = 0
len1 = len(dafen)
for f in dafen:
sum += f
pjf = sum / len1
print(pjf)
34、.定义元组,存放5个学生的成绩【成绩值自己设定】,获得成绩之和,平均成绩,最小成绩,最大成绩。
tuplecj = (88,66,77,99,55)
print(tuplecj)
sumcj = 0
pjcj = 0
min = min(tuplecj)
max = max(tuplecj)
for cj in tuplecj:
sumcj += cj
pjcj = sumcj / len(tuplecj)
print("成绩之和:%d 平均成绩:%.2f 最小成绩:%d 最大成绩:%d" % (sumcj,pjcj,min,max))
35、.将一个列表逆序输出
import copy
list1 = [1,22,33,3,32]
print(list1)
for zhi in list1:
print(zhi)
print("*************************************************")
for index in range(0,len(list1)):
print(list1[len(list1)-1-index],end=",")
36、.输入某年某月某日,判断这一天是这一年的第几天
# 闰年 非闰年
nian = int(input("请输入年份:"))
yue = int(input("请输入月份"))
ri = int(input("请输入日"))
sum = 0
list = [31,28,31,30,31,30,31,31,30,31,30,31]
for y in range(0,12):
if y + 1 < yue:
sum += list[y]
sum += ri
print(sum)
37、给定一个列表:将列表中指定的某个元素全部删除
list1 = [1,2,2,3,4,3,2,1]
print(list1)
gd = 2
len1 = len(list1)
count = list1.count(gd)
for i in range(0,count):
list1.remove(gd)
print(list1)
38、自定义一个列表,最大的与第一个元素交换,最小的与最后一个元素交换,输出数组
#元素交换
# z=a a=b b=z
list1 = [1,22,33,32,44,3]
print(list1)
max = max(list1)
min = min(list1)
print(max,min)
maxIndex = list1.index(max)
print("=======第一次交换==========")
#交换1
temp = list1[0];
list1[0] = max
list1[maxIndex] = temp
print(list1)
print("=======第2次交换==========")
#交换2
minIndex = list1.index(min)
temp2 = list1[len(list1)-1]
list1[len(list1)-1] = min
list1[minIndex] = temp2
print(list1)
39、.在控制台输入一句英语, 获得每个字母出现的次数,注:每个字符作为key,出现的次数作为value
# a-3 b-4 c-5
str1 = input("请输入一句话:")
dict1 = {}
for zifu in str1:
print(zifu,end=",")
if zifu in dict1:#在添加这个字符之前 先判断字典中有没有这个字符 如果有 数量加加 如果没有 添加字符 1进去
count = dict1.get(zifu)
count += 1
dict1[zifu] = count
else:
dict1[zifu] = 1
print("==================遍历结果==================")
for key in dict1:
print(key,dict1.get(key),end="=====")
print()
40、.已知列表list1 = [0,1,2,3],list2 = [‘a’,‘b’,‘c’,‘d’],
将list1中的元素作为key,list2中的元素作为value生成一个字典{0:‘a’,1:‘b’…}
list1 = [0,1,2,3]
list2 = ['a','b','c','d']
dict1 = dict(zip(list1,list2))
for key in dict1:
print(key,dict1.get(key))
41:定义一个list 求这个list的最大值和最小值不允许使用min和max
#[1,23,3,233,455,22,2]
list1 = [1,23,3,233,455,22,2]
#初始值一定是列表中的值
maxValue = list1[0]
minValue = list1[0]
for num in list1:
if num > maxValue:
maxValue = num
if num < minValue:
minValue = num
print(list1)
print(minValue)
print(maxValue)
42:定义一个list 完成冒泡排序(相邻比较 大的放后面)
list1 = [1,23,3,233,455,22,2]
print(list1)
len1 = len(list1)
#先写外循环 控制比较的轮次
for i in range(0,len1):#比较的轮次一般是长度-1次
for j in range(0,len1 - 1 - i):#后面的范围随着轮次的增加而减小 j j+1
if list1[j] < list1[j + 1]:
temp = list1[j]
list1[j] = list1[j + 1]
list1[j + 1] = temp
print(list1)
43:定义一个list 完成选择排序
# [1,23,3,233,455,22,2]
#选定一个位置 使用位置的值与后面的值一一比较 将最下值换到这个位置上
list1 = [1,23,3,233,455,22,2]
len1 = len((list1))
#比较的值 外循环i 内循环j
for i in range(0,len1 - 1):
for j in range(i+1,len1):
if list1[i] > list1[j]:
temp = list1[i]
list1[i] = list1[j]
list1[j] = temp
print(list1)
44:定义一个list 完成一个一般的查找 找下标
#[1,23,3,233,455,22,2] 找的是22
list1 = [1,23,3,233,455,22,2]
key = 22
isFind = False
for i in range(0,len(list1)):
if list1[i] == key:
print("找到了:",i)
isFind = True
if not isFind:
print("没找到")
45:定义一个有序的list 完成一个二分查找
#[1,2,3,22,23,233,455] 找2
#定义 min max mid 每次循环计算mid
#循环条件是min <= max
list1 = [1,2,3,22,23,233,455]
min = 0
max = len(list1) - 1
mid = 0
key = 222
isFind = False
while min <= max:
mid = (min + max) // 2
if list1[mid] > key:#key在左面 max=mid-1
max = mid - 1
elif list1[mid] < key:#key在右面 min = mid+1
min = mid + 1
else:#找到了
print("找到key:",mid)
isFind = True
break
if not isFind:
print("列表中没有",key)
46.已知字符串:“this is a test of Python”
a.统计该字符串中字母s出现的次数
b.取出子字符串“test”
c.采用不同的方式将字符串倒序输出
d.将其中的"test"替换为"exam"
str1 = "this is a test of Python"
counts = 0
for ch in str1:
if ch == 's':
counts += 1
print("s出现的次数:",counts)
str2 = "test"
index = str1.index(str2)
print(index)
jieguo = str1[index:index + 5]
print(jieguo)
#c.采用不同的方式将字符串倒序输出
list1 = []
for ch1 in str1:
list1.append(ch1)
print(list1)
list1.reverse();
print(list1)
strdx = ""
for i in list1:
strdx += i
print(strdx)
#d.将其中的"test"替换为"exam"
jg = str1.replace("test","exam")
print(jg)
47.已知字符串 a = “aAsmr3idd4bgs7Dlsf9eAF”,要求如下
a.请将a字符串的大写改为小写,小写改为大写
b.请将a字符串的数字取出,并输出成一个新的字符串
c.请统计a字符串出现的每个字母的出现次数(忽略大小写,a与A是同一个字母),并输出成一个字典。 例 {‘a’:4,‘b’:2}
d.输出a字符串出现频率最高的字母
e.请判断 'boy’里出现的每一个字母,是否都出现在a字符串里。如果出现,则输出True,否则,则输 出False
a = "aAsmr3idd4bgs7Dlsf9eAF"
print(a)
x = a.swapcase()
print(x)
x2 = ""
for i in a:
if i.isdigit():
x2 += i
print(x2)
#c.请统计a字符串出现的每个字母的出现次数(忽略大小写,a与A是同一个字母),并输出成一个字典。 例 {'a':4,'b':2}
a1 = "aAsmr3idd4bgs7Dlsf9eAF"
a2 = a1.lower()
print(a2)
dict1 = {}
for ch in a2:
count = 1
if ch in dict1:
count = dict1.get(ch)
count += 1
dict1[ch] = count
print(dict1)
#d.输出a字符串出现频率最高的字母
maxCount = 0
#先找到最大次数
for value in dict1.values():
if value > maxCount:
maxCount = value
keyx = 0
#根据最大次数再找到key
for key,value in dict1.items():
if value == maxCount:
keyx = key
break
print("最大次数的字母是:",keyx)
print("次数是:",maxCount)
#a = "aAsmr3idd4bgs7Dlsf9eAF"
#e.请判断 'boy'里出现的每一个字母,是否都出现在a字符串里。如果出现,则输出True,否则,则输 出False
y1 = "idf"
a11 = "aAsmr3idd4bgs7Dlsf9eAF"
x11 = 0
for i in y1:
if i in a11:
x11 += 1
else:
print(False)
break
if x11 == len(y1):
print(True)