4 int、str类型(数据类型1)、type()

本文介绍了Python中的int和str类型,包括它们的定义和示例。同时,详细讲解了type()函数用于检查数据类型的用法。还提供了两个例题,探讨了如何在编程中应用这些概念,涉及循环、条件判断以及字符串操作。最后更新部分讨论了type嵌套使用的情况。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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’了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值