如果你感到吃力:系统学习python:菜鸟教程-python3
n = eval(input())
l = list(map(int,input().split()))
l.sort()
for i in range(n):
print("{}".format(l[i]),end=' ')
n = eval(input())
l = list(map(int,input().split()))
for i in range(n): print("{}".format(l[i]),end=' ')
print("网站名:{name}, 地址 {url}".format(name="菜鸟教程", url="www.runoob.com"))
n = eval(input())
for i in range(n):
s = input()
s = "0x"+s
t = eval(s)
print("{:o}".format(t))
首先输入n是告诉系统后面要输入n行,接下来就可以循环输入n行,s = "0x"+s
是对其增加16进制标记,然后去掉双引号,利用.format格式化输出达到直接将16进制转换8进制的目的
其中{:o}
是8进制输出
与上一题同理啦
s = input()
s = "0x"+s
t = eval(s)
print("{:d}".format(t))
n = input()
s = "0x"+n
print(int(s,16))
同理,但是发现蓝桥评测系统要大写的X才行!
n = eval(input())
print("{:X}".format(n))
切片:
[开始:结束:步进]
n = int(input())
for num in range(10000, 1000000):
temp = str(num)
if temp[0:] == temp[::-1]: #判断是否是回文数
if sum(list(map(int, temp))) == n:
print(num)
str()将数字转换为字符串,[0:]指正序字符串,[::-1]指逆序字符串,倒着步进嘛
然后用sum将temp字符串转换为整形再转换为列表再求和看是不是等于输入的n,是就打印
原作者真聪明!
逻辑同上
for num in range(1000, 10000):
temp = str(num)
if temp[0:] == temp[::-1]: #判断是否是回文数
print(num)
for num in range(100, 1000):
temp = str(num)
baihe=(num//100)*(num//100)*(num//100)
shihe=(num%100//10)*(num%100//10)*(num%100//10)
gehe=(num%100%10)*(num%100%10)*(num%100%10)
if baihe+shihe+gehe==num: #判断是否是回文数
print(num)
%是取余,//是除
15%10==5
15//10==1
其中的主要思想是:
s = [[0 for i in range(n)] for j in range(n)]
是指初始化一个二维列表s,其中i在n范围内赋值为0,j在n范围内赋值为0n = int(input())
s = [[0 for i in range(n)] for j in range(n)]
for num in range(n):
s[num][0] = 1
for i in range(n):
for j in range(i+1):
s[i][j] = s[i-1][j-1] + s[i-1][j]
for i in range(n):
for j in range(n):
if s[i][j] != 0:
print(s[i][j],' ', end = '')
print('')#是为了打印完一行换行
n=eval(input())
l = list(map(int,input().split()))
f=eval(input())
if f in l:
print(l.index(f)+1)#+1是因为位置从1开始编号
break
else:
print(-1)
这题有一个可以用的知识点就是in,可以直接判断一个数在不在列表中存在,然后index可以获取这个数在列表中的下标位置
如果不懂这两个函数,还可以遍历:
n=eval(input())
l = list(map(int,input().split()))
f=eval(input())
for i in range(n):
if f==l[i]:
print(i+1)
break
else:
print(-1)
(python真香)
n = eval(input())
l = list(map(int,input().split()))
print(max(l))
print(min(l))
print(sum(l))
abs是返回绝对值
能想到这个规律原作者真是小天才……
n,m = map(eval,input().split())
l = ['A','B','C','D','E','F','G','H','I','J','K','L','M','N','O','P','Q','R','S','T','U','V','W','X','Y','Z']
for i in range(n):
for j in range(m):
s = abs(j-i)
print(l[s],end = '')
print()
这题就是得对format格式输出足够熟悉啊
#print(int(0b11111)) 31
for i in range(32):
print("{:0>5b}".format(i))
{:0>5b}:数字补零 (填充左边, 宽度为5),b代表二进制写法,将32从大到小,转换为二进制也是从大到小
闰年:可整除4且不可整除100
或可整除400
n = eval(input())
if n%4==0 and n%100!=0 or n%400==0:
print("yes")
else:
print("no")
说明:在本题中,答案是要求Fn除以10007的余数,因此我们只要能算出这个余数即可,而不需要先计算出Fn的准确值,再将计算的结果除以10007取余数,直接计算余数往往比先算出原数再取余简单。
说实话我半懂不懂
# feibonacci
def feibonacci(i):
f1 = f2 = f3 = 1
for num in range(2, i):
f3 = (f1 + f2) % 10007
f1 = f2
f2 = f3
return f3
x = int(eval(input()))
print(feibonacci(x))
%是打印占位符
PI = 3.14159265358979323
r = int(input())
s = PI * r * r
print("%.7f" % s)
x = int(input())
total = int((1+x)*x/2)
print(total)
这里是直接使用了等差数列求和公式,哈哈哈哈哈哈太强了
m,n =map(int,input().split())
print(m+n)
end
2021.5.3更新:泪目,本非cs专业渣渣混了一个第十二届蓝桥杯省三,本来只是单纯想报个比赛督促我接触算法和复习python的,没想到混了个奖哈哈哈哈哈哈!很满足,感激自己刷题的时光,大家加油