文章目录

  • 知识点详解
  • 1、input():获取控制台(任意形式)的输入。输出均为字符串类型。
  • 1.1、input()与list(input())的区别、及其相互转换方法
  • 2、print() :打印输出。
  • 3、算术运算符(/ 与 // 的区别)
  • 4、pass语句


描述
某商店规定:三个空汽水瓶可以换一瓶汽水,允许向老板借空汽水瓶(但是必须要归还)。小张手上有n个空汽水瓶,她想知道自己最多可以喝到多少瓶汽水。

注意:本题存在多组输入。输入的 0 表示输入结束,并不用输出结果。

数据范围: 输入的正整数满足 1 ≤ n ≤ 100

输入描述: 输入文件最多包含 10 组测试数据,每个数据占一行,仅包含一个正整数 n( 1<=n<=100 ),表示小张手上的空汽水瓶数。n=0 表示输入结束,你的程序不应当处理这一行。

输出描述:对于每组测试数据,输出一行,表示最多可以喝的汽水瓶数。如果一瓶也喝不到,输出0。


示例1

输入:
3
10
81
0

输出:
1
5
40

说明:
样例 1 解释:用三个空瓶换一瓶汽水,剩一个空瓶无法继续交换。
样例 2 解释:用九个空瓶换三瓶汽水,剩四个空瓶,再用三个空瓶换一瓶汽水,剩两个空瓶,向老板借一个空瓶,再用三个空瓶换一瓶汽水,喝完得一个空瓶还给老板。

Python3

while True:
    try:
        a = int(input())
        if a != 0:
            print(a//2)
        else:
            pass
    except:
        break

知识点详解

1、input():获取控制台(任意形式)的输入。输出均为字符串类型。

【Python】input()函数用法小结

str1 = input()
print(str1)
print('提示语句:', str1)
print(type(str1))

'''
asd123!#
提示语句: asd123!#
<class 'str'>
'''

常用的强转类型

说明

int(input())

强转为整型(输入必须时整型)

list(input())

强转为列表(输入可以是任意类型)

1.1、input()与list(input())的区别、及其相互转换方法

  • 相同点:两个方法都可以进行for循环迭代提取字符,提取后都为字符串类型。
  • 不同点str = list(input()) 将输入字符串转换为list类型,可以进行相关操作。如: str.append()
  • 将列表转换为字符串:str_list = ['A', 'aA', 2.0, '', 1]
  • 方法一:print(''.join(str))
  • 方法二:print(''.join(map(str, str_list)))

备注:若list中包含数字,则不能直接转化成字符串,否则系统报错。

  • 方法一:print(''.join([str(ii) for ii in str_list]))
  • 方法二:print(''.join(map(str, str_list))) map():根据给定函数对指定序列进行映射。即把传入函数依次作用到序列的每一个元素,并返回新的序列。

(1) 举例说明:若list中包含数字,则不能直接转化成字符串,否则系统报错。

str = ['25', 'd', 19, 10]
print(' '.join(str))

'''
Traceback (most recent call last):
 File "C:/Users/Administrator/Desktop/test.py", line 188, in <module>
   print(' '.join(str))
TypeError: sequence item 3: expected str instance, int found
'''

(2)举例说明:若list中包含数字,将list中的所有元素转换为字符串。

str_list = ['A', 'aA', 2.0, '', 1]
print(''.join(str(ii) for ii in str_list))
print(''.join([str(ii) for ii in str_list]))
print(''.join(map(str, str_list))) 		# map():根据给定函数对指定序列进行映射。即把传入函数依次作用到序列的每一个元素,并返回新的序列。

'''
AaA2.01
AaA2.01
AaA2.01
'''

2、print() :打印输出。

【Python】print()函数的用法

x, y = 1, 9
print('{},{}' .format(x, y))
print(x, ',', y)

'''
1,9
1 , 9
'''

3、算术运算符(/ 与 // 的区别)

序列

运算符

名称

说明

举例

结果

数据类型

【1】

+


(1)对于数字:求和。

c = 1 + 2

c = 3

int型

【1】

+


(2)对于序列类型(如:字符串):拼接操作

str = 'a' + 'b'

str = 'ab'

字符串型

2

-


求差值

c = 1 - 2

c = -1

int型

【3】

*


(1)对于数字:求积。

c = 2 * 3

c = 6

int型

【3】

*


(2)对于序列类型(如:字符串):重复操作

str = 'a' * 3

str = 'aaa'

字符串型

4

/


求商(两个整数或浮点数相除,结果为float型)

c = 3 / 2

c = 1.5

浮点型

5

%

取余

求余数

c = 3 % 2

c = 1

int型

6

**


求次幂

c = 3 ** 2

c = 9

int型

【7】

//

地板除法

向下取整。(1)两个整数相除,结果为int型

c = 3 // 2

c = 1

int型

【7】

//

地板除法

向下取整。(2)除数或被除数为float类型,则结果为float类型。

c = 3 // 2.0

c = 1.0

浮点型

4、pass语句

作用:
(1)空语句:do nothing
(2)保证格式完整
(3)保证语义完整

if true:
    pass 	# do nothing

def iplaypython():
    pass	# 保证格式完整

while True:
    pass	# 保证语义完整