for i in range(1,5) : for j in range(1,5) : for k in range(1,5) : if (i!=j) and (i!=k) and (j!=k) : print(i*100+j*10+k)
核心思想:先通过for循环找到1,2,3,4这四个数字能组成多少个三位数,然后再筛选出无重复数字的数。
gain = int(input("请输入利润:(单位:万元)")) if gain <= 10 : gain *= 0.1 elif 10 < gain <= 20 : gain = 10*0.1 + (gain-10)*0.075 elif 20 < gain <= 40 : gain = 10 * 0.1 + (gain - 10) * 0.075 +(gain-20)*0.05 elif 40 < gain <= 60 : gain = 10 * 0.1 + (gain - 10) * 0.075 + (gain - 20) * 0.05 + (gain-40) * 0.03 elif 60 < gain <= 100 : gain = 10 * 0.1 + (gain - 10) * 0.075 + (gain - 20) * 0.05 + (gain - 40) * 0.03 +(gain-60) * 0.015 elif gain > 100 : gain = 10 * 0.1 + (gain - 10) * 0.075 + (gain - 20) * 0.05 + (gain - 40) * 0.03 + (gain - 60) * 0.015 + (gain-100) * 0.01 print(gain)
for i in range(0,1000) : x = int(math.sqrt(i + 100)) y = int(math.sqrt(i + 268)) if (x*x == (i+100)) and (y*y == (i+268)) : print("这个数是" + str(i)) print("x=" + str(x)) print("y=" + str(y))
核心思想:可以先从1000以内的数中选择一个数求处理后的开方,然后将其转为整型(如果是整型不受影响,是浮点型会取小于它的最大整数),再将开放后的数求平方,如果结果能还原回来,就满足条件。
year = int(input("请输入年份:")) month = int(input("请输入月份:(1~12)")) day = int(input("请输入日期:")) num = 0 if month>=12 : num += 30 if month>=11 : num += 31 if month>=10 : num += 30 if month>=9 : num += 31 if month>=8 : num += 31 if month>=7 : num += 30 if month>=6 : num += 31 if month>=5 : num += 30 if month>=4 : num += 31 if month>=3 : if (year % 4 == 0 and year % 100 != 0) or year % 400 == 0: # 闰年 num += 29 else: # 平年 num += 28 if month>=2 : num += 31 if month>=1 : num += day print("今天是今年的第" + str(num) + "天")
拓展:还可以将截至每月最后一天的总天数放在一个元组里,然后使用索引调用。
a = input("请输入第一个数:") b = input("请输入第二个数:") c = input("请输入第三个数:") if a > b : if a > c : if b > c : print(c,b,a) else : print(b,c,a) else : print(b,a,c) else : if a > c : print(c,a,b) else : if b>c : print(a,c,b) else : print(a,b,c)
拓展:还可以利用列表存储每个数字,然后使用排序方法进行排序
I = [] for i in range(3): x = int(input("请输入一个数:")) I.append(x) I.sort() print(I)
练习总结:
1. 看到一道题,先想想要用到什么知识可以更方便地实现程序
2. 首先不要纠结于格式,先注重练习,练多了就会找到更适合自己的格式