首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >python中的命令行参数

python中的命令行参数
EN

Stack Overflow用户
提问于 2020-04-02 19:04:15
回答 1查看 440关注 0票数 0

这就是我的问题:通过命令行参数,由空格分隔的三个字符串被赋予you.Each字符串是由连字符(-)分隔的一系列数字。您喜欢字符串1中的所有数字,但不喜欢字符串2中的所有数字。第三个字符串包含赋予you.your的数字,初始幸福度为0。当你遇到字符串1中的数字时,将你的幸福感加1,如果它出现在字符串2中,将-1添加到你的happiness.Otherwise中你的幸福感不会在最后change.Output你的最终幸福感。

代码语言:javascript
复制
Sample input: 3-1 5-7 1-5-3-8
Sample output: 1

说明:字符串1中的数字: 3,1。字符串2中的数字: 5,7。提供给您的数字: 1,5,3,8。字符串1中的数字1和3将获得1个单位的幸福感。现在,您的总幸福感是2。你为字符串2中的数字5损失了1个单位的幸福感,现在你的总幸福感是1。8没有出现在这两个字符串中,所以幸福感不会change.Final change.Final is 1。

这是我所理解的。我的代码如下:

代码语言:javascript
复制
from sys import argv
print("Number in string1:",argv[1])
print("Number in string2:",argv[2])
print("Number in string3:",argv[3])
if i in argv[3]== i in argv[1]:
    count=count+1
if i in argv[3]==i in argv[2]:
    count=count-1
print("Happiness=",count)

但这并不能帮到我,我是初学者,命令行参数实际上是预先定义的( confusing.Thanks )。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-04-03 06:51:37

首先,您需要将命令行参数中给出的字符串转换为列表:

代码语言:javascript
复制
liked_numbers = argv[1].split("-")
disliked_numbers = argv[2].split("-")
given_numbers = argv[3].split("-")

使用您的示例输入,这将以以下格式显示列表:

liked_numbers = '3','1‘

disliked_numbers = '5','7‘

given_numbers = '1','5','3','8‘

然后,您应该将每个给定的数字与其他列表进行比较。下面的代码将首先从given_numbers中获取一个数字并在liked_numbers中搜索它,然后它将在disliked_numbers中搜索它,它将对given_numbers中的每个数字执行此操作:

代码语言:javascript
复制
happiness = 0
for num in given_numbers:
    if num in liked_numbers:
        happiness += 1
    if num in disliked_numbers:
        happiness -= 1
print(happiness)
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/60990089

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档