m0_62927409 2022-03-23 22:13 采纳率: 75.8%
浏览 33
已结题

Python这个怎么改

from random import random,seed
n=int(input())
if n>=1 and n<=100:
m=seed(n)
ls=[1]
for i in [2,n+1]:
ls.append(i)
i=i+1
print(ls)
for a in [2,n+1]:
if a%m==0:
continue
else:
ls2=ls.append(a)
print(ls2)

runfile('C:/Users/86137/Desktop/spyder/untitled0.py')

6
[1, 2, 7]
Traceback (most recent call last):

File "C:\Users\86137\Desktop\spyder\untitled0.py", line 18, in
if a%m==0:

TypeError: unsupported operand type(s) for %: 'int' and 'NoneType'

  • 写回答

3条回答 默认 最新

  • 周析明 2022-03-23 22:52
    关注

    不是很清楚你想干什么,大概猜到,你这里是想把输入的数组当作随机数的种子(当然,是输入的数在你设定的范围内的话,也就是1~100)。你这里的 m 大概是想根据种子获取一个随机数,你不能直接

    m = seed(n)
    

    而是这样:

    # 先设置种子
    seed(n)
    # 之后根据种子生成随机数,将其赋值给m
    m = random()
    

    其次,如果你 for 循环中使用的 [2, n+1]想用的数是从2到n+1,你可以使用range(2, n+1),[]代表一个list, [2, n+1]这个 list 之中只有两个元素:2和 n+1

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录
查看更多回答(2条)

报告相同问题?

问题事件

  • 已结题 (查看结题原因) 3月23日
  • 已采纳回答 3月23日
  • 创建了问题 3月23日