int类型介绍
int类型,俗话说就是我们所说的‘整数’,所有是整数的数都为int类型,包括正数、0和负数。
type()
type这个函数可以帮助我们查看数据类型,像这样:
print(type(1))
print(type(0))
print(type(-185))
输出:
<class ‘int’>
<class ‘int’>
<class ‘int’>
可以看到,1、0、-185都是int类型。
str类型介绍
str是字符串,就是一串字符,可以是文字、数字、字母······各种都可以是字符串。字符串是由单引号或双引号括起来的字符。
print(type('abc'))
print(type('150'))
print(type('你好'))
输出:
<class ‘str’>
<class ‘str’>
<class ‘str’>
注意,'150’是str类型,但是如果没带单引号或双引号,就是int类型!!!
像这样:
print(type('150'))
print(type(150))
输出:
<class ‘str’>
<class ‘int’>
注意2,单引号和双引号要成对使用!!!
如果你这样写:
print(type('0))
那么会报这样的错:
Syntax Error: EOL while scanning string literal: string
就是代表你引号写错了!!!
例题
例题1
找出所有成立勾股定理的数
想法
- 用while循环
- 用for循环
- 用if语句
- 用列表
- 用元组
- 用if、elif语句
- 用format
- 用字符串拼接
解法
a = []
for i in range(3,101,3):
a.append(i)
b = []
for i in range(4,101,4):
b.append(i)
c = []
for i in range(5,101,5):
c.append(i)
for i in range(len(c)):
print('{}*{} + {}*{} = {}*{}'.format(a[i],a[i],b[i],b[i],c[i],c[i]))
我用的是format语句,但也可以用字符串拼接,比较长,这边就先不写了,自己可以试试。
例题2
找出所有和为100,并且三个数都被n整除的并且是双数的三个数的不同的三个数,指定范围,输出三个数(用’,'隔开)和个数
输入输出
输入要求:
1、2个数为范围(能取到),第三个数为n
输入:
30,50,10
输出:
30,50,10
30,32,38
30,34,36
30,36,34
30,38,32
32,30,38
32,38,30
34,30,36
34,36,30
36,30,34
36,34,30
38,30,32
38,32,30
12
注意要点
这道题信息比较多,注意看要求!
1
和为100
用
if i == e or e == o or i == o:
就可解决。
2
都被n整除
用
if i % a[2] == 1 or e % a[2] == 1 or o % a[2] == 1:
就可通过。
3
是双数的数
这个,需要用到取余。
像这样:
if i % 2 == 1 or e % 2 == 1 or o % 2 == 1:
也可解决。
4
三个数
这个,要用到3层for循环。
for i in range(a[0],a[1]+1):
for e in range(a[0],a[1]+1):
for o in range(a[0],a[1]+1):
5
输出3个数,用‘,’隔开
使用print()函数的sep即可解决。
print(i,e,o,sep = ',')
6
输出个数
使用一个变量,每有一个符合的组时,打印他然后变量+1即可解决。
最后,讲了这么多注意要点,可以放代码喽!
解法
a = [int(i) for i in input().split(',')]
num = 0
for i in range(a[0],a[1]+1):
for e in range(a[0],a[1]+1):
for o in range(a[0],a[1]+1):
if i == e or e == o or i == o:
continue
if i % a[2] == 1 or e % a[2] == 1 or o % a[2] == 1:
continue
if i % 2 == 1 or e % 2 == 1 or o % 2 == 1:
continue
if i + e + o == 100:
print(i,e,o,sep = ',')
num += 1
print(num)
我用的是列表生成式:
a = [int(i) for i in input().split(',')]
也可以用平常的办法,先输入,split一下,再转换成数字的列表。
这里就是所有内容了,再见!
UPDATE 2021.7.4:
看最近网上有人在说如果type套type会怎么样,我去试了一下,就发现:
print(type(type(1))
输出class ‘type’。
因为type(1)出来的是一个type类型,也就是class ‘int’,外面再套一个type,出来的就是class 'type’了。