Python代码补全计划: DAY-3

声明:该系列文章首发于公众号:Y1X1n安全,转载请注明出处!本公众号所分享内容仅用于每一个爱好者之间的技术讨论,所有渗透及工具的使用都需获取授权,禁止用于违法途径,否则需自行承担,本公众号及作者不承担相应的后果。

文章目录

  • Question 3
      • **Question:**
      • Hints:
    • 2、Solution
      • 2.1 Python 2
      • 2.2 Python 3
        • 2.2.1 使用for循环
        • 2.2.2 使用字典推导式
        • 2.2.3 加入异常判断
        • 2.2.4 enumerate()函数
        • 2.2.5 Python 3解法 by: Y1X1n (通过控制台输入)

Question 3

Question:

使用给定的整数n,编写一个程序来生成一个包含(i,i x i)的字典,该字典是1和n之间的整数(都包括在内)。然后程序应打印字典。假设向程序提供以下输入:8
然后,输出应为: {1: 1, 2: 4, 3: 9, 4: 16, 5: 25, 6: 36, 7: 49, 8: 64}


Hints:

如果输入数据被提供给问题,则应将其假定为控制台输入。考虑使用dict()


2、Solution

2.1 Python 2

n = int(raw_input())
d = dict()
for i in range(1,n+1):
    d[i] = i * i
print d


raw_input() 是一个 Python 2 版本的函数,用于从标准输入(通常是用户键盘输入)读取用户输入的字符串。在 Python 3 中,这个函数被替换为 input()。

range() 是一个 Python 内置函数,用于生成一个整数序列。它有两个参数,分别是起始值和结束值。例如,range(1,5) 会生成一个序列 [1, 2, 3, 4]。如果只给定一个参数,则默认从 0 开始计数,例如 range(5) 会生成一个序列 [0, 1, 2, 3, 4]。range() 函数可以和 for 循环一起使用,用于遍历一个序列中的所有元素。

2.2 Python 3

2.2.1 使用for循环

n = int(input())
ans = {}
for i in range (1,n+1):
    ans[i] = i * i
print(ans)

2.2.2 使用字典推导式

n = int(input())
ans={i : i*i for i in range(1,n+1)}
print(ans)


字典推导式是一种快速创建字典的方法,可以在一行代码中生成一个字典。字典推导式的语法类似于列表推导式,只不过它返回的是一个字典。
下面是一个字典推导式的例子:
{key_expression: value_expression for element in iterable}
其中,key_expression 和 value_expression 分别是键和值的表达式,iterable 是一个可迭代对象,例如列表或范围对象。在推导式中,我们遍历 iterable 中的每个元素 element,并根据 key_expression 和 value_expression 计算其相应的键和值,最终生成一个包含所有键值对的字典。
例如,下面这个字典推导式生成了一个以 1 到 5 的整数为键,以它们的平方为值的字典:
{num: num**2 for num in range(1, 6)}
输出结果为:{1: 1, 2: 4, 3: 9, 4: 16, 5: 25}


2.2.3 加入异常判断

try:
    num = int(input("Enter a number: "))
except ValueError as err:
    print(err)

dictio = dict()
for item in range(num+1):
    if item == 0: #range只有一个参数时,从0开始
        continue
    else:
	dictio[item] = item * item
print(dictio)

2.2.4 enumerate()函数

num = int(input("Number: "))
print(dict(enumerate([i*i for i in range(1, num+1)], 1)))


enumerate() 是 Python 内置函数之一,用于将一个可迭代对象中的元素和它们的索引一一对应起来,返回一个枚举对象。枚举对象中的每个元素都是一个包含两个值的元组,分别为索引和对应的元素值。enumerate() 函数的语法如下:
enumerate(iterable, start=0)
其中,iterable 是一个可迭代对象,start 是可选参数,表示索引的起始值,默认为 0。enumerate() 函数返回的是一个枚举对象,可以使用 list() 函数将其转换为列表。
例如,下面这个例子演示了如何使用 enumerate() 函数遍历一个列表并打印出每个元素的索引和值:

fruits = ['apple', 'banana', 'orange']
for index, fruit in enumerate(fruits):
    print(index, fruit)
输出结果为:
0 apple
1 banana
2 orange

2.2.5 Python 3解法 by: Y1X1n (通过控制台输入)

def square(n):
    square_dict = {}
    for i in range(n):
        i += 1
        # range用法:上述两行同 for i in range(1, n+1):
        square_dict[i] = i * i

    print(square_dict)

if __name__ == '__main__':
    while True:
        n = int(input("请输入平方计算数字:"))  # 直接通过input输入的内容为str类型,需要使用int进行转换
        square(n)

如果你对网络安全或编程感兴趣,可以搜索公众号“Y1X1n安全”,每天都会分享相关知识点,让我们一同加油!路漫漫其修远兮,吾将上下而求索。

你可能感兴趣的:(python,开发语言)